asp.net常用操作

ASP。NET面面传参(2009-02-07 15:43:29)标签:杂谈   分类:Asp.net 
asp.net 中传参的方法有几种
具体用法,总结一下,希望自己不要犯类似的错误!
1,QueryString
这是最简单的传值方式
  就要是接忙收URL 中的参数;
  aa.aspx 中,
    string s_url="bb.aspx?name="+this.label.text;
    Response.Redirect(s_url);


  bb.aspx 中
    Request.QueryString["name"];
2,使用Application 变量,这个对象的作用域是全局的,对所有用户都有效
主是方法是 lock() 和 unlock()
       aa.aspx中
         Application["name"]=this.label.text;
         Server.Tansfer("bb.aspx");
       bb.aspx 中
          Application.lock();
          string name=Application["name"].ToString();
          Application.unlock();
3.Session 用于存储个人的信息
   aa.aspx
     Session["name"]=this.label.text;
   bb.aspx
    string name=Sessin["name"].ToString();

4.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();
}
5.  使用Server.Transfer方法
Server.Transfer 方法还有另一个参数——"preserveForm"。如果你设置这个参数为 True,比如:Server.Transfer("WebForm2.aspx", True), 那么 query string 和任何 form 变量都会同时传递到你定位的页面。例:WebForm1.aspx 有一个文本框名为 TextBox1,你利用 preserveForm 为 True 传递到 WebForm2.aspx,你仍然可以用 Request.Form("TextBox1") 来取得文本框的值。
这种技术对向导式的多页面输入很有用.
总结:Response.Redirect 简单地告诉浏览器访问另一个页面。Server.Transfer 有利于减少服务器请求,保持地址栏 URL 不变,允许你将 query string 和 form 变量传递到另一个页面。
另外表单Post的提交方式在Response.Redirect下是没有用的.
在使用Server.Transfer时还可以通过Context来传值.比如在webform1里添加一个context的item:
this.Context.Items.Add("test", "abcdef");
那么就可以在webform2里能过下列代码得到这个item值
this.Context.Items["test"].ToString()
这个才可以说是面象对象开发所使用的方法,其使用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");

4.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();
}
5.  使用Server.Transfer方法
Server.Transfer 方法还有另一个参数——"preserveForm"。如果你设置这个参数为 True,比如:Server.Transfer("WebForm2.aspx", True), 那么 query string 和任何 form 变量都会同时传递到你定位的页面。例:WebForm1.aspx 有一个文本框名为 TextBox1,你利用 preserveForm 为 True 传递到 WebForm2.aspx,你仍然可以用 Request.Form("TextBox1") 来取得文本框的值。
这种技术对向导式的多页面输入很有用.
总结:Response.Redirect 简单地告诉浏览器访问另一个页面。Server.Transfer 有利于减少服务器请求,保持地址栏 URL 不变,允许你将 query string 和 form 变量传递到另一个页面。
另外表单Post的提交方式在Response.Redirect下是没有用的.
在使用Server.Transfer时还可以通过Context来传值.比如在webform1里添加一个context的item:
this.Context.Items.Add("test", "abcdef");
那么就可以在webform2里能过下列代码得到这个item值
this.Context.Items["test"].ToString()
这个才可以说是面象对象开发所使用的方法,其使用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");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值