ASP.NET页面之间传值(一)--QueryStringy页面传值

QueryString传值

QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。

这种方法的优点:1.使用简单,对于安全性要求不高时传递数字或是文本值非常有效。
这种方法的缺点:1.缺乏安全性,由于它的值暴露在浏览器的URL地址中的。
2.不能传递对象。

使用方法:1.在源页面的代码中用需要传递的名称和值构造URL地址。
2.在源页面的代码用Response.Redirect(URL);重定向到上面的URL地址中。

3.在目的页面的代码使用Request.QueryString["name"];取出URL地址中传递的值。

例子:

前端页面

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="one.aspx.cs" Inherits="AST.NET.one" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <br />
        <asp:Button ID="Button1" runat="server" Text="传值" OnClick="Button1_Click" />
    </div>
    </form>
</body>
</html>

第一个页面

 protected void Button1_Click(object sender, EventArgs e)
        {
            //---QueryString传值

            string q_QueryString;
            q_QueryString = "two.aspx?name=" + TextBox1.Text;
            Response.Redirect(q_QueryString);
        }

第二个页面

     前端页面只需添加一个lable标签即可。

     注意:添加using指令(using System.Data;)

 protected void Page_Load(object sender, EventArgs e)
        {
            
            Label1.Text = Request.QueryString["name"];
        }

效果:





猜你喜欢

转载自blog.csdn.net/hemingyang97/article/details/81021528