• 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即为传送过来的值
     
  • 相关阅读:
    函数防抖与函数节流 封装好的debounce和throttle函数
    机顶盒
    getchar() putchar()
    【整】char、varchar、nchar、nvarchar的区别
    主机名
    主机
    java中的匿名内部类总结
    智能路由器又多一个玩家——乐视TV
    乐视开始折腾路由器,小米与极路由还会好过吗?
    带你认识什么是路由器
  • 原文地址:https://www.cnblogs.com/Wbely/p/4026498.html
Copyright © 2020-2023  润新知