小例子
.aspx代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="2_MultiView.aspx.cs" Inherits="_2_MultiView" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <h2>Multiview & View 应用程序</h2> <p>MV可以看成是一个大容器,V是多个互斥的小容器,只能显示其中1个</p> <hr /> <asp:MultiView ID="mv1" runat="server" ActiveViewIndex="0"> <asp:View ID="V_Q1" runat="server"> 您有手机么?<asp:RadioButtonList ID="rbl_1" runat="server" AutoPostBack="True" onselectedindexchanged="RadioButtonList1_SelectedIndexChanged"> <asp:ListItem Value="1">有</asp:ListItem> <asp:ListItem Value="0">没有</asp:ListItem> </asp:RadioButtonList> </asp:View> <asp:View ID="V_no" runat="server"> <p>那就买一个吧!</p> <asp:Button ID="Button1" runat="server" Text="OK!" onclick="Button1_Click" /> <asp:Button ID="Button3" runat="server" Text="NO,Thanks!" onclick="Button3_Click" /> </asp:View> <asp:View ID="V_Q2" runat="server"> <p>选择手机的品牌:<asp:RadioButtonList ID="RadioButtonList1" runat="server" CellPadding="2" CellSpacing="2" RepeatDirection="Horizontal" AutoPostBack="True" onselectedindexchanged="RadioButtonList1_SelectedIndexChanged1"> <asp:ListItem>NOKIA</asp:ListItem> <asp:ListItem>SAMSUM</asp:ListItem> <asp:ListItem>HTC</asp:ListItem> <asp:ListItem>APPLE</asp:ListItem> <asp:ListItem>其他</asp:ListItem> </asp:RadioButtonList> </p> </asp:View> <asp:View ID="V_DONE" runat="server"> <p style="font-size:18px; color:green; text-align:center;">谢谢参与!<br /><br /> <asp:Button ID="Button2" runat="server" Text="再来一次" onclick="Button2_Click" /></p> </asp:View> </asp:MultiView> </div> </form> </body> </html>
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class _2_MultiView : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e) { string s_havePhone = rbl_1.SelectedValue; switch (s_havePhone) { case "0": //没有手机 mv1.SetActiveView(V_no); break; case "1": //有手机 mv1.SetActiveView(V_Q2); break; } } protected void RadioButtonList1_SelectedIndexChanged1(object sender, EventArgs e) { mv1.SetActiveView(V_DONE); } protected void Button1_Click(object sender, EventArgs e) { mv1.SetActiveView(V_Q2); } protected void Button2_Click(object sender, EventArgs e) { Response.Redirect("2_Multiview.aspx"); //请自己验证为何不用SetActiveView实现 //mv1.SetActiveView(V_Q1); } protected void Button3_Click(object sender, EventArgs e) { mv1.SetActiveView(V_DONE); } }
原文地址:http://blog.csdn.net/yayun0516/article/details/41842577