页面传值方法汇总

发布时间:2012-01-06 17:22:26   来源:文档文库   
字号:

C#页面传值

使用QueryString变量

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

a.aspxC#代码

private void Button1_Click(object sender, System.EventArgs e)

{

     string s_url;

     s_url = "b.aspx?name=" + Label1.Text;

     Response.Redirect(s_url);

}

b.aspxC#代码

private void Page_Load(object sender, EventArgs e)

{

     Label2.Text = Request.QueryString["name"];

}

使用Application 对象变量

Application对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用LockUnLock

a.aspxC#代码

private void Button1_Click(object sender, System.EventArgs e)

{

     Application["name"] = Label1.Text;

     Server.Transfer("b.aspx");

}

b.aspxC#代码

private void Page_Load(object sender, EventArgs e)

{

     string name;

     Application.Lock();

     name = Application["name"].ToString();

     Application.UnLock();

}

使用Session变量

想必这个肯定是大家使用中最常见的用法了,其操作与Application类似,作用于用户个人,所以,过量的存储会导致服务器内存资源的耗尽。

a.aspxC#代码

private void Button1_Click(object sender, System.EventArgs e)

{

     Session["name"] = Label.Text;

}

b.aspxC#代码

private void Page_Load(object sender, EventArgs e)

{

     string name;

     name = Session["name"].ToString();

}

使用Cookie对象变量

这个也是大家常使用的方法,与Session一样,其是什对每一个用户而言的,但是有个本质的区别,即Cookie是存放在客户端的,而session是存放在服务器端的。而且Cookie的使用要配合ASP.NET内置对象Request来使用。

a.aspxC#代码

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.aspxC#代码

private void Page_Load(object sender, EventArgs e)

{

     string name;

     name = Request.Cookie["name"].Value.ToString();

}

使用Server.Transfer方法

这个才可以说是面对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效。

a.aspxC#代码

public string Name

{

     get{ return Label1.Text;}

}

private void Button1_Click(object sender, System.EventArgs e)

{

     Server.Transfer("b.aspx");

}

b.aspxC#代码

private void Page_Load(object sender, EventArgs e)

{

     a newWeb;    //实例a窗体

     newWeb = (source)Context.Handler;

     string name;

     name = newWeb.Name;

}

使用JSJquery异步

使用js异步

//定义一个变量保存XMLHttprResquest

var req = null;

//异步请求的函数

function CallTheServer() {

if (window.XMLHttpRequest) { //创建XMLHttpRequest对象

req = new XMLHttpRequest();

}

else if (window.ActiveXObject) {

req = new ActiveXObject("Microsoft.XMLHTTP");

}

var url = "Ajax.aspx?param="+escape('你好Ajax'); //异步处理的后台页面

req.open("GET", url, false); //以Get方式提交

req.onreadystatechange = CallBack; //执行完异步以后的回调函数

req.send(null); //发送请求

}

//回调函数

function CallBack() {

if (req.readyState == 4) {

if (req.status == 200) {

alert("成功返回,获得信息:" + req.responseText);

}

}

}

Aja.cs页面

protected void Page_Load(object sender, EventArgs e)

{

string strInfo = Request.QueryString["param"].ToString();

Response.Write("你的信息" + strInfo + "我已经收到,请继续!");

}

使用Jquery异步

$(function () {

$.ajax(

{

url: "Ajax.aspx", //异步请求页面

type: "post", //传值类型

timeout: 5000, //异步请求超时时间(单位毫秒)

data: {name:"xunian"}, // 异步数据

dataType: "html", //以XML形式返回数据

beforeSend: fn_Before, //发送前执行的函数

complete: fn_Complete, //操作完成执行的函数

success: fn_Success, //成功的时候执行的函数

error: fn_Error //错误的时候执行的函数

}

)

})

function fn_Before() {

alert("异步执行之前");

}

function fn_Complete() {

alert("异步完成");

}

function fn_Success(data) {

alert("异步成功" + data);

}

function fn_Error() {

alert("异步发送错误");

}

本文来源:https://www.2haoxitong.net/k/doc/6e3864ebb8f67c1cfad6b8d2.html

《页面传值方法汇总.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式