一、目前在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) { //转换一下即可获得前一页面中输入的数据 response.write( "stadate:" ); |
共3页: 上一页 1 [2] [3] 下一页
新闻热点
疑难解答
图片精选