ASP.NET页面中的各种asp控件

时间:2010-05-21 23:38:35

标签: asp.net controls load

我正在创建一个产品页面,例如用户在radiobuttonlist中选择一个选项,然后当选择了radiobuttons时,带有该产品的各种选项的控件会出现在占位符或div中。< / p>

目前这是代码:

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加载控件吗? 我正朝着正确的方向前进吗?

感谢。

2 个答案:

答案 0 :(得分:2)

有几种方法可以实现这一目标:

  • 真正的ASP.Net网络表单:使用 AutoPostback 进行回发并使用其他控件的可见性进行播放
  • Javascript :加载可能与页面一起显示的所有数据,并使用javascript处理条件显示。如果要在一个页面上显示的数据量有限,这是合理的。如果你这样做,你可能想要研究JQuery或类似的东西。
  • Ajax :仅异步加载您需要的位。您可以使用MSAjax框架或Jquery(或类似的)来执行客户端代码。

第一个选项可能是最快的选项。

答案 1 :(得分:1)

您是否尝试在控件上添加AutoPostBack =“true”和Visible =“true”?