多语言展示
当前在线:1228今日阅读:23今日分享:25

.net C#中页面之间传值传参的六种方法

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

下面是一个例子 private void Button1_Click(object sender, System.EventArgs e) { string s_url; s_url = 'b.aspx?name=' + Label1.Text; Response.Redirect(s_url); } b.aspx中C#代码 private void Page_Load(object sender, EventArgs e) { Label2.Text = Request.QueryString['name']; }

2

query传值又分类post ,get格式如 //post请求  string name = Request['name'].toString();  string name =Request.Form.Get('name').toString();  //get请求  string name = Request.QueryString['name'].toString();  但我发现 无论是否是post与get传值都可用 string name = Request['name'].toString();

3

使用Application 对象变量 a.aspx的C#代码 private void Button1_Click(object sender, System.EventArgs e) { Application['name'] = Label1.Text; Server.Transfer('b.aspx'); } b.aspx中C#代码 private void Page_Load(object sender, EventArgs e) { string name; Application.Lock(); name = Application['name'].ToString(); Application.UnLock(); }

4

使用Session变量 a.aspx的C#代码 private void Button1_Click(object sender, System.EventArgs e) { Session['name'] = Label.Text; } b.aspx中C#代码 private void Page_Load(object sender, EventArgs e) { string name; name = Session['name'].ToString(); }

5

使用Cookie对象变量 a.aspx的C#代码 private void Button1_Click(object sender, System.EventArgs e) { HttpCookie cookie_name = new HttpCookie('name'); cookie_name.Value = Label1.Text; Reponse.AppendCookie(cookie_name); Server.Transfer('b.aspx'); } b.aspx中C#代码 private void Page_Load(object sender, EventArgs e) { string name; name = Request.Cookie['name'].Value.ToString(); }

6

使用Server.Transfer方法 a.aspx的C#代码 public string Name { get{ return Label1.Text;} } private void Button1_Click(object sender, System.EventArgs e) { Server.Transfer('b.aspx'); } b.aspx中C#代码 private void Page_Load(object sender, EventArgs e) { a newWeb; //实例a窗体 newWeb = (source)Context.Handler; string name; name = newWeb.Name; }

推荐信息