• Asp.net页面之间几种传值方法【示例】


    1.Request.QueryString

    在传值的页面(aspx.cs页面):

    Response.Redirect("QueryStringPage.aspx?Data=" + Server.UrlEncode(DataToSendTextBox.Text));

    在接收值的页面(.net前端页面):

    <%=Server.UrlDecode(Request.QueryString["Data"]) %>

    2.HttpPost

    在传值的页面(aspx页面):

        <form id="form1" runat="server">
        <div>
            <h1>Source Page</h1>
            Data to send: <asp:TextBox ID="DataToSendTextBox" runat="server" Text="Hello World!"></asp:TextBox><br /><br />
            <asp:Button ID="HttpPostButton" runat="server" Text="Use HttpPost" PostBackUrl="~/HttpPostPage.aspx"/><br /><br />
        </div>
        </form>

    在接收的页面(aspx页面):

    <%=Request.Form["DataToSendTextBox"] %>

    在接收的页面(aspx.cs页面):

    System.Text.StringBuilder displayValues =
                    new System.Text.StringBuilder();
                System.Collections.Specialized.NameValueCollection
                    postedValues = Request.Form;
                String nextKey;
                for (int i = 0; i < postedValues.AllKeys.Length; i++)
                {
                    nextKey = postedValues.AllKeys[i];
                    if (nextKey.Substring(0, 2) != "__")
                    {
                        displayValues.Append("<br>");
                        displayValues.Append(nextKey);
                        displayValues.Append(" = ");
                        displayValues.Append(postedValues[i]);
                    }
                }
                ReceivedDataLabel.Text = displayValues.ToString();

    上述代码中,postedValues[i]为获取到的所接收的值

    3.Session State

    传值页面(aspx.cs页面):

    Session["Data"] = DataToSendTextBox.Text;
    Response.Redirect("SessionStatePage.aspx");

    接收值页面(aspx页面):

    <%=Session["Data"] %>

    4.Public Properties

    传值页面(aspx.cs页面):

    public string DataToSend
            {
                get
                {
                    return DataToSendTextBox.Text;
                }
            }
    Server.Transfer("PublicPropertiesPage.aspx");
    
    接收值页面(aspx页面):
    <%@ PreviousPageType VirtualPath="~/Default.aspx" %>
    
    <%=PreviousPage.DataToSend %>

    5.Control Info
    传值页面(aspx.cs页面)
            public string DataToSend
            {
                get
                {
                    return DataToSendTextBox.Text;
                }
            }
     
    Server.Transfer("ControlInfoPage.aspx");
    
    接收值的页面(aspx页面)
    <%@ PreviousPageType VirtualPath="~/Default.aspx" %>
    
     <asp:Label ID="DataReceivedLabel" runat="server" Text="Label"></asp:Label>
    
    接收值的页面(aspx.cs页面)
    protected void Page_Load(object sender, EventArgs e)
            {
                var textbox = PreviousPage.FindControl("DataToSendTextbox") as TextBox;
                if (textbox != null)
                {
                    DataReceivedLabel.Text = textbox.Text;
                }
            }
    上述代码中,textbox.Text即为传送过来的值
     
  • 相关阅读:
    [Maven]自定义Archetypes
    [集合]LinkedList
    [集合]Arraylist
    [数据结构与算法]最长有效括号32
    [数据结构与算法]深度优先搜索dfs和广度优先搜索bfs
    [Vim] 光标移动到行首、行尾
    [数据结构与算法]给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。
    [数据结构与算法]求给定二叉树的最小深度。最小深度是指树的根结点到最近叶子结点的最短路径上结点的数量。
    IDEA 自动设置compile target变成1.5
    【Java基础】sun.misc.BASE64和Java 8 java.util.Base64区别
  • 原文地址:https://www.cnblogs.com/Wbely/p/4026498.html
Copyright © 2020-2023  润新知