首页 > 编程 > .NET > 正文

ASP.NET十分有用的页面间传值方法

2024-07-10 13:12:25
字体:
来源:转载
供稿:网友

一、目前在asp.net中页面传值共有这么几种方式:
1、表单提交
   <form action= "target.aspx" method = "post" name = "form1">
 <input name = "param1" value = "1111"/>
 <input name = "param2" value = "2222"/>
   </form>
   ....
   form1.submit();
   ....
   此种方在asp。net中无效,因为asp。net的表单总是提交到自身页面,如果要提交到别一页面,需要特殊处理。
2、链接地址传送
接收页面: string str = request["param1"]
3、session共享
发送页面:session("param1") = "1111"; 
按收页面  string str = session("param1").tostring(); 
4、application共享
发送页面: application("param1") = "1111";  
按收页面: string str = application("param1").tostring(); 
此种方法不常使用,因为application在一个应用程序域范围共享,所有用户可以改变及设置其值,故只应用计数器等需要全局变量的地方。
5、cookie
6、response.redirect()方式
   response.redirect("target.aspx?param1=1111¶m2=2222")
   接收页面: string str = request["param1"]
7、server.transfer()方式。
   server.transfer("target.aspx?param1=1111¶m2=2222")
   接收页面: string str = request["param1"]

二、如果在两个页面间需要大量的参数要传传递,如数据查询等页面时,用1 - 6的方法传值及其不便,而第 7 种方法确有一独特的优势!但使用该方法时需要一定的设置,现简单介绍一下该方法的使用方式:
   以查询数据页面为例:
   在查询页面中设置如下公有属性(querypage.aspx):

以下为引用的内容:
public class querypage : system.web.ui.page
{
protected system.web.ui.webcontrols.textbox txtstadate;
protected system.web.ui.webcontrols.textbox txtenddate;
   ...
/// <summary>
/// 开始时间
/// </summary>
public string stadate
{
get{ return this.txtstadate.text;}
set{this.txtstadate.text = value;}
}
/// <summary>
/// 结束时间
/// </summary>
public string enddate
{
get{ return this.txtenddate.text;}
set{this.txtenddate.text = value;}
}
....
private void btnenter_click(object sender, system.eventargs e)
{
server.transfer("resultpage.aspx");
}

在显示查询结果页面(resultpage.aspx):

以下为引用的内容:
 public class resultpage : system.web.ui.page
{
   private void page_load(object sender, system.eventargs e)
   {

//转换一下即可获得前一页面中输入的数据
querypage querypage = ( querypage )context.handler;

response.write( "stadate:" );
response.write( querypage.stadate );
response.write( "<br/>enddate:" );
response.write( querypage.enddate );
  }

共3页: 上一页 1 [2] [3] 下一页

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表