2007年11月12日星期一

DotNet 2.0 简单实现跨页面回传

Cross-Page Postbacks Made Easy with .NET 2.0
从这种方法来替换Server.Transfer 或者 Response.Redirect   ,你不能更改query string。

建立2个页面 ,一个是 发送页面Web1.aspx,一个是接收页面Web2.aspx

Web1.aspx 

    <asp:TextBox ID="tMessageID" runat="server" />
    <asp:TextBox ID="tSubject" runat="server" />
    <asp:TextBox ID="tMessage" runat="server" TextMode="MultiLine"   width="300px" height="80px" />
<asp:Button ID="bSubmit" runat="server" Text="Submit" PostBackUrl="~/WebForm1.aspx" />

Web1.aspx.cs

        public Int32 MessageID
        {
            get
            {
                return Int32.Parse(tMessageID.Text);
            }
        }

        public String Subject
        {
            get
            {
                return tSubject.Text;
            }
        }

        public String Message
        {
            get
            {
                return tMessage.Text;
            }
        }

接收页面Web2.aspx

在页面头部增加

<%@ PreviousPageType VirtualPath="~/Web1.aspx" %>

Web2.aspx.cs

Response.Write("Message ID: " + PreviousPage.MessageID + "\n");
Response.Write("Subject: " + PreviousPage.Subject + "\n");
Response.Write("Message: " + PreviousPage.Message + "\n");

Web2.aspx完成接收并输入

没有评论: