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

你可能感兴趣的:(asp.net)