QueryString是一种非常简单的传值方式他可以将传送的值显示在浏览器的地址栏中如果是传递一个或多个安全性要求不高或是结构简单的数值时可以使用这个方法但是对于传递数组或对象的话就不能用这个方法了下面是一个例子
aaspx的C#代码
private void Button_Click(object sender SystemEventArgs e)
{
string s_url;
s_url = baspx?name= + LabelText;
ResponseRedirect(s_url);
}
baspx中C#代码
private void Page_Load(object sender EventArgs e)
{
LabelText = RequestQueryString[name];
}
使用Application 对象变量
Application对象的作用范围是整个全局也就是说对所有用户都有效其常用的方法用Lock和UnLock
aaspx的C#代码
private void Button_Click(object sender SystemEventArgs e)
{
Application[name] = LabelText;
ServerTransfer(baspx);
}
baspx中C#代码
private void Page_Load(object sender EventArgs e)
{
string name;
ApplicationLock();
name = Application[name]ToString();
ApplicationUnLock();
}
使用Session变量
想必这个肯定是大家使用中最常见的用法了其操作与Application类似作用于用户个人所以过量的存储会导致服务器内存资源的耗尽
aaspx的C#代码
private void Button_Click(object sender SystemEventArgs e)
{
Session[name] = LabelText;
}
baspx中C#代码
private void Page_Load(object sender EventArgs e)
{
string name;
name = Session[name]ToString();
}
使用Cookie对象变量
这个也是大家常使用的方法与Session一样其是什对每一个用户而言的但是有个本质的区别即Cookie是存放在客户端的而session是存放在服务器端的而且Cookie的使用要配合ASPNET内置对象Request来使用
aaspx的C#代码
private void Button_Click(object sender SystemEventArgs e)
{
HttpCookie cookie_name = new HttpCookie(name);
cookie_nameValue = LabelText;
ReponseAppendCookie(cookie_name);
ServerTransfer(baspx);
}
baspx中C#代码
private void Page_Load(object sender EventArgs e)
{
string name;
name = RequestCookie[name]ValueToString();
}
使用ServerTransfer方法
这个才可以说是面象对象开发所使用的方法其使用ServerTransfer方法把流程从当前页面引导到另一个页面中新的页面使用前一个页面的应答流所以这个方法是完全面象对象的简洁有效
aaspx的C#代码
public string Name
{
get{ return LabelText;}
}
private void Button_Click(object sender SystemEventArgs e)
{
ServerTransfer(baspx);
}
baspx中C#代码
private void Page_Load(object sender EventArgs e)
{
a newWeb; //实例a窗体
newWeb = (source)ContextHandler;
string name;
name = newWebName;
}