asp.net中MultiView和View

小例子

.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>

.aspx.cs代码如下:

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);
    }
}

时间: 2024-10-05 16:49:21

asp.net中MultiView和View的相关文章

ASP.NET MVC3中Controller与View之间的数据传递总结

</pre>在ASP.NET MVC<span style="font-family:宋体">中,经常会在</span>Controller<span style="font-family:宋体">与</span>View<span style="font-family:宋体">之间传递数据,因此,熟练.灵活的掌握这两层之间的数据传递方法就非常重要.本文从两个方面进行探讨:&

(四)ASP.NET MVC 中 Controller 给 View 传递数据的方式

1. ViewData: 以 ViewData["keyname"] = value 这样键值对的方式进行数据传送.在对应的 cshtml 中用 @ViewData["keyname"] 来获取值. 2. ViewBag: ViewBag 是 dynamic 类型的,是对 ViewData 的一人动态类型封装,用起来更方便,和 ViewData 共同操作一个数据 .在 Controller 中使用 ViewBag.keyname=value 来赋值,在 cshtml

Asp.net mvc中controller与view间的如何传递数据

1.      Asp.net中的页面指令 无论是在java程序中还是在.net程序中,我们总是会看见一些@指令,那么这些常见指令的作用是什么呢? ?  @Page指令 只能在.aspx页中使用.如果在其他页面中使用会发生编译错误.比较常见的属性有: 1. Language 指出在编译内联代码块和页的<script>节中出现的所有代码时所使用的语言,默认的语言是Visual Basic .NET. 2. AutoEventWireup 指出是否启用页事件.默认为true. VS.NET开发的页

ASP.NET MVC中Controller与View之间的数据传递总结

在ASP.NET MVC中,经常会在Controller与View之间传递数据,因此,熟练.灵活的掌握这两层之间的数据传递方法就非常重要.本文从两个方面进行探讨: Ø Controller向View传递数据 Ø View向Controller传递数据 一.Controller向View传递数据 1.       使用ViewData传递数据 我们在Controller中定义如下: ViewData[“Message”] = “Hello word!”; 然后在View中读取Controller中

ASP.NET MVC中Controller与View之间的数据传递

一.Controller向View传递数据 Controller向View传递数据有3种形式: 1.通过ViewData传递 在Controller里面定义ViewData,并且赋值,比如 ViewData["contact"] = contact; 然后在View里面读取Controller中定义的ViewData数据 比如联系人: <input type="text" value='<%=ViewData["contact"] %

ASP.NET MVC3中Controller与View之间的数据传递

在ASP.NET MVC中,经常会在Controller与View之间传递数据,因此,熟练.灵活的掌握这两层之间的数据传递方法就非常重要.本文从两个方面进行探讨: 一.  Controller向View传递数据 1.       使用ViewData传递数据 我们在Controller中定义如下: [csharp] view plain copy print? ViewData["Message_ViewData"] = " Hello ViewData!"; Vi

Asp.net MVC中 Controller 与 View之间的数据传递

在ASP.NET MVC中,经常会在Controller与View之间传递数据 1.Controller向View中传递数据 (1)使用ViewData["user"] (2)使用ViewBag.user (3)使用TempData["user"] (4)使用Model(强类型) 区别: (1)ViewData与TempData方式是弱类型的方式传递数据,而使用Model传递数据是强类型的方式. (2)ViewData与TempData是完全不同的数据类型,View

ASP.NET中XML转JSON的方法

原文:ASP.NET中XML转JSON的方法 许多应用程序都将数据存储为XML的格式,而且会将数据以JSON的格式发送到客户端以做进一步处理.要实现这一点,它们必须将XML格式转换为JSON格式. XML转JSON代码 [csharp] view plaincopy private static string XmlToJSON(XmlDocument xmlDoc) { StringBuilder sbJSON = new StringBuilder(); sbJSON.Append("{ &

ASP.Net中自定义Http处理及应用之HttpModule篇

HttpHandler实现了类似于ISAPI Extention的功能,他处理请求(Request)的信息和发送响应(Response).HttpHandler功能的实现通过实现IHttpHandler接口来达到.而HttpModule实现了类似于ISAPI Filter的功能. HttpModule的实现 HttpModules实现了类似于ISAPI Filter的功能,在开发上,通常需要经过以下步骤: 1.编写一个类,实现IhttpModule接口 2.实现Init 方法,并且注册需要的方法