我正在创建一个产品页面,例如,用户在单选按钮列表中选择一个选项,然后当选择一个单选按钮时,带有该产品的各种选项的控件会出现在占位符或 div 中。
目前这是代码:
aspx:
<form runat="server">
<asp:CheckBoxList ID="Lentes" runat="server" OnClick="EscolheLentes">
<asp:ListItem Value="LU">
Lentes Unifocais
</asp:ListItem>
<asp:ListItem Value="LP">
Lentes Progressivas
</asp:ListItem>
</asp:CheckBoxList>
<asp:PlaceHolder runat="server" ID="PHLentes"></asp:PlaceHolder>
</form>
aspx.vb:
Protected Sub EscolheLentes()
Dim ControlLente As Control
If (Me.Lentes.Items.FindByValue("LU").Selected) Then
ControlLente = LoadControl("LentesUnifocais.ascx")
ElseIf (Me.Lentes.Items.FindByValue("LP").Selected) Then
ControlLente = LoadControl("LentesProgressivas.ascx")
End If
Me.PHLentes.Controls.Add(ControlLente)
End Sub
需要使用一些ajax来加载控件吗? 我的方向正确吗?
谢谢。
最佳答案
有几种方法可以实现这一目标:
- 真正的 ASP.Net Web 表单:使用 AutoPostback 进行回发并利用其他控件的可见性
- Javascript:加载页面可能显示的所有数据,并使用 javascript 处理条件显示。仅当一页上显示的数据量有限时,这才是合理的。如果您这样做,您可能想研究一下 JQuery 或类似的东西。
- Ajax:仅异步加载您需要的位。您可以使用 MSAjax 框架或 Jquery(或类似框架)来执行客户端代码。
第一个选项可能是实现速度最快的选项。
关于asp.net - ASP.NET 页面中的各种 asp 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2886264/