zoukankan      html  css  js  c++  java
  • 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即为传送过来的值
     
  • 相关阅读:
    jpa summary
    web service 参考文档
    jap 事务总结
    jap 事务
    PriorityQueue优先队列深入解析(含源码分析,方法使用)
    【LeetCode】703.数据流中的第K大元素(二叉搜索树解法,java实现)
    做移动端的你竟然不知道Flex布局?快来看看!
    【LeetCode】450.删除二叉搜索树中的节点(java实现,详细图解)
    #linux vscode 保存总提示“Retry as sudo”
    java 面向对象(十八):包装类的使用
  • 原文地址:https://www.cnblogs.com/Wbely/p/4026498.html
Copyright © 2011-2022 走看看