如何在单选按钮中添加多视图

时间:2013-10-31 09:43:55

标签: asp.net radiobuttonlist multiview

<asp:MultiView ID="MultiView1" runat="server">
    <asp:View ID="View1" runat="server">
      </asp:View>
 <asp:View ID="View2" runat="server" >
 <table class="style1" style="border: medium groove #808080">
 ......contents.....
</asp:view>


protected void ddlto_SelectedIndexChanged(object sender, EventArgs e)
{

}
protected void RadioButton1_CheckedChanged1(object sender, EventArgs e)
{
    MultiView1.ActiveViewIndex = 0;
}
protected void RadioButton2_CheckedChanged(object sender, EventArgs e)
{
    MultiView1.ActiveViewIndex = 2;
}

<asp:RadioButtonList ID="RadioButtonList2" runat="server" AutoPostBack="True" 
                                            RepeatDirection="Horizontal" Font-Names="Arial" Font-Size="Small" 
                                            onselectedindexchanged="MultiView1_ActiveViewChanged">
                                            <asp:ListItem Selected="True">One Way</asp:ListItem>
                                            <asp:ListItem>Round Trip</asp:ListItem>
                                            <asp:ListItem>Multi City</asp:ListItem>


                                        </asp:RadioButtonList>
  

我有一个三角形的radiolist - 单向,往返和多重,我采取了多视图,其中在视图2中我添加了代码代码,我想在我点击第二个收音机时显示该代码按钮即往返,怎么做。 plzz帮助

1 个答案:

答案 0 :(得分:0)

我将假设从您添加的代码中,您希望 Round Trip 项目能够更改多视图的视图。在RadioButtonList上设置事件处理程序的方式是错误的。您无法使用单选按钮列表处理ActiveViewChanged上的MultiView处理程序。

最好的办法是在你的单选按钮列表中添加更多内容

<asp:RadioButtonList ID="lstTrip" runat="server" AutoPostBack="True" RepeatDirection="Horizontal" Font-Names="Arial" Font-Size="Small" onselectedindexchanged="lstTrip_SelectedIndexChanged">
    <asp:ListItem Selected="True" Value="OneWay">One Way</asp:ListItem>
    <asp:ListItem Value="RoundTrip">Round Trip</asp:ListItem>
    <asp:ListItem Value="MultiCity">Multi City</asp:ListItem>
</asp:RadioButtonList>

然后就像你做的那样处理SelectedIndexChanged上的事件

protected void lstTrip_SelectedIndexChanged(object sender, EventArgs e)
{
    if (lstTrip.SelectedValue.ToLower() == "roundtrip")
    {
        //Change the selected multiview index 
        MultiView1.ActiveViewIndex = 1;
    } 
    else 
    {
        MultiView1.ActiveViewIndex = 0;
    }
}

您确实需要考虑更具描述性地命名控件,就像其他人要查看您的代码一样,他们很难理解并可能维护它。