2010-05-21 84 views
2

我正在创建一个产品页面,其中用户在radiobuttonlist中选择一个选项,然后带有该产品的各种选项的控件出现在占位符或div中当选择了单选按钮时。ASP.NET页面中的各种asp控件

目前这是代码:

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向右加载控制? 我会朝着正确的方向走吗?

谢谢。

+0

你不必使用AJAX,你可以做回发。你想使用AJAX吗? – 2010-05-22 00:05:07

+0

那么,在这种情况下,我认为这不是必要的AJAX。只需要简单的方法来正确显示所需的一切。 :) – 2010-05-22 00:15:22

回答

2

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

  • 真ASP.Net Web窗体:做回传与自动回并与其他控件
  • 的Javascript的可视性播放:加载所有的数据可能与页面一起显示,并使用JavaScript处理条件显示。如果要在一个页面上显示的数据量有限,这是唯一合理的。如果你这样做,你可能想看看JQuery或类似的东西。
  • Ajax:仅异步加载所需的位。您可以使用MSAjax框架或Jquery(或类似的)来执行客户端代码。

第一个选项可能是实现速度最快的一个。

+0

谢谢。第一个选项像我想要的那样工作。 :) – 2010-05-22 16:08:36

1

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

+0

感谢您的帮助。 – 2010-05-22 16:08:00