ASP.NET学习之页面传值(2)_QueryString传值

【关键点:

1、要传递的值拼接在URL后面

2、在用Request.QueryString["XXX"]获得数据的时候,XXX是拼接在URL后面的参数而不是组件的ID

3、所有的组件都必须在<form id="form1" runat="server"></form>中

4、如果是加runat属性的按钮的点击事件必须是:onserverclick

5、服务器组件的按钮点击事件是:OnClick

6、用该方法进行传值,数据的值会在URL中显示出来的。这样的安全性不高

把要传递的值拼接在URl后来实现传递。

【注意:

把前端控件变成服务器器控件【在控件中加runat = “server”】。

要获得没有控件的值用的是:.Value来获得的        

直接用服务器控件,要获得没有控件的值用的是:.Text来获得的

】 用两种方法实现QueryString传值:

1、页面用runat属性的前端控件 IndexPage.aspx页面:

<form  id="form1" runat="server">
            <input id="username" type="text" runat="server"/>
            <input id="userpass" type="text" runat="server"/>
            <input id="ok" value="传值" type="button" runat="server" onserverclick="ok_ServerClick"/>
</form>
View Code

【组件必须放在<form id="form1" runat="server">中】

【按钮的点击事件必须是:onserverclick】

IndexPage.aspx.cs后台代码:

public void ok_ServerClick(object sender, EventArgs e)
        {
            string StrName = username.Value;   //取ID = username的组件的值
            string StrPass = userpass.Value;
            //拼接URl
            string url = "ResultIndex.aspx?name=" + StrName + "&pass=" + StrPass;
            //页面跳转
            Response.Redirect(url);
        }
View Code

ResultPage.aspx.cs后台代码
接收数据

protected void Page_Load(object sender, EventArgs e)
        {
            //QueryString["XX"]:XX是拼接URl的参数
            string name = Request.QueryString["name"].ToString();
            string pass = Request.QueryString["pass"].ToString();
            txt.Value = "用户名:" + name + "-----密码:" + pass;
        }
View Code

2、页面用服务器控件
IndexPage.aspx页面:

<form id="form1" runat="server">
        <asp:TextBox ID="name" runat="server"></asp:TextBox>
        <asp:TextBox ID="pass" runat="server"></asp:TextBox>
        <asp:Button ID="KO" runat="server" Text="传值" OnClick="KO_Click" />
</form>
View Code

【组件必须放在<form id="form1" runat="server">中】
【按钮的点击事件是:OnClick】
IndexPage.aspx.cs后台代码:

protected void KO_Click(object sender, EventArgs e)
        {
            string StrName = name.Text;
            string StrPass = pass.Text;
            //拼接URl
            string url = "ResultIndex.aspx?name=" + StrName + "&pass=" + StrPass;
            //页面跳转
            Response.Redirect(url);
        }
View Code

ResultPage.aspx.cs后台代码
接收数据

protected void Page_Load(object sender, EventArgs e)
        {
            //QueryString["XX"]:XX是拼接URl的参数
            string name = Request.QueryString["name"].ToString();
            string pass = Request.QueryString["pass"].ToString();
            txt.Value = "用户名:" + name + "-----密码:" + pass;
        }
View Code

onClick,onServerClick,onClientClick 的区别  
http://blog.csdn.net/kaifa123/article/details/40073991
http://blog.csdn.net/tianmaqinfeng/article/details/8153695

原文地址:https://www.cnblogs.com/Yisijun/p/4588095.html