仓酷云

标题: ASP网页编程之webform页面间传值的特别办法 [打印本页]

作者: 老尸    时间: 2015-2-3 23:42
标题: ASP网页编程之webform页面间传值的特别办法
由于ASP提供的是一对多的服务,所以用户的一些特殊需求很难得到满足。web|页面   网上每天有人问怎样在webform页面之间传值,根基下去说,人人熟习的是
(1)url字符串传值
(2)session传值
(3)直接读取server.transfer过去的页面上的数据
后面2个就不说了,人人都晓得怎样用,前面一个能够用的人对照少,这里做一下引见。
Web 窗体页是使用法式中的类,因而可以向处置任何类一样为它们创立属性。然而,因为 Web 窗体页实践上仅在履行页的过程当中存在,它们的性命周期十分短。因而,Web 窗体页上属性的用处相当无限,由于它们仅在处置页的过程当中存在。然而,假如利用特定的手艺将控件从一页传递到另外一页,后一页仍可以会见前一页上的属性。
好比如今在一个webform页面上(page.aspx)放置了一个label,在
private void Page_Load(object sender, System.EventArgs e)
{
this.Label1.Text="test";
}
咱们设定了它的值,再为这个页面类设定一个公然的属性
public Label lab
{
get
{
return Label1;
}
}
前往的就是这个页面上的一个Label
然后在这个页面上放置一个按钮,按钮的click事务中添加以下代码
Server.Transfer("newpage.aspx");
在newpage.aspx中一样放置一个Label标签,用来显示前一个页面谁人Label的值,然后在Page_Load外面加上以下代码
if (!IsPostBack)
{
newpage p=(newpage)Context.Handler;
this.Label1.Text="传过去的值是:"+p.lab.Text;
}

咱们运转这个法式,点击按钮,发明呈现值传过去了,然而阅读器的url显示的仍是本来的page.aspx,申明server.transfer是不改动阅读器的url的,其实这申明此事务仅仅是在办事器端完成,并没有到客户端,这也就是为何能在无形态的http下失掉后面一个页面的数据的缘由,假如你换成response.redirect,你是不克不及失掉任何器材的。剖析一下下面的代码newpage p=(newpage)Context.Handler的意思就是创立源页类的实例变量,然后可以向其分派 HTTP 对象(IHttpHandler类的一个实例),即吸收初始恳求的对象。如许传值的优点在于不像session一样利用内存,出格合适大数据的情形(其实这不克不及称传值),害处只能是统一个办事器页面之间,并且url并没有改动,用户看了能够会懵懂。

对法式你可以进一步改善,咱们如今传的是一个Label的实例,你可以在页面间传递一切对象,乃至你可以直接利用后面一个页面的DataGrid!


</p>  由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况;
作者: 因胸联盟    时间: 2015-2-4 06:05
Session:这个存储跟客户端会话过程的数据,默认20分钟失效
作者: 若相依    时间: 2015-2-8 09:08
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
作者: 透明    时间: 2015-2-18 19:18
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
作者: 老尸    时间: 2015-3-1 23:44
兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的
作者: 分手快乐    时间: 2015-3-5 23:39
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
作者: 小女巫    时间: 2015-3-12 16:36
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
作者: 灵魂腐蚀    时间: 2015-3-19 19:18
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
作者: 仓酷云    时间: 2015-4-1 09:10
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
作者: 若天明    时间: 2015-4-4 07:36
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
作者: 飘飘悠悠    时间: 2015-4-22 05:45
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
作者: 精灵巫婆    时间: 2015-4-22 07:48
不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍
作者: 再见西城    时间: 2015-4-26 19:08
那么,ASP.Net有哪些改进呢?
作者: 山那边是海    时间: 2015-5-3 21:12
接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
作者: 海妖    时间: 2015-5-7 09:04
Session:这个存储跟客户端会话过程的数据,默认20分钟失效
作者: 谁可相欹    时间: 2015-6-22 05:18
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
作者: 小妖女    时间: 2015-6-29 08:09
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
作者: 蒙在股里    时间: 2015-7-9 08:40
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
作者: 乐观    时间: 2015-7-9 08:55
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
作者: 爱飞    时间: 2015-7-9 22:04
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2