海妖 发表于 2015-1-16 22:31:47

ASP.NET教程之ASP.NET 2.0,无革新页面新地步

我也不知道,我原来理解的,NET就是C++编程,只是与JAVA相对,呵呵。以为.ET就是高级C++编程。asp.net|革新|无革新|页面本文由KanyBoy受权www.ASPCOOl.com宣布。

“无革新页面”,只是一种不切实的效果形貌(实在另有其他各类办法来完成这个效果),更切实的说法是:在页面上用JavaScript挪用服务器真个一个办法,然后处置前往的数据。完成它最尺度的办法固然是XMLHTTP。可是,程序员都是怠惰的家伙,每一个人都但愿能有更便利的办法,大概,更佳的包装。好比,Lostinet的Rane就是对XMLHTTP的一个很好的包装。

终究,在ASP.NET2.0内里,我们能够轻松的来做到这点了。服务器端任何完成了System.Web.UI.ICallbackEventHandler接口的控件,都能够经由过程RaiseCallbackEvent()办法来处置从页面上的JS剧本传送过去的哀求和数据,处置后,再将了局传回给页面。这项才能的底层仍旧是XMLHTTP。

上面是一个复杂的演示:

在页面上,我们放上两个文本框和一个按钮:
<INPUTid="txtMessage">
<INPUTtype="button"value="CalltoServer">
Result:<INPUTid="txtResult">

当点击按钮的时分,将挪用JS剧本办法callToServer(),JS剧本以下:
functioncallToServer()
{
varparam=document.getElementById("txtUsername").value;
varcontext="";
<%=ClientScript%>
}

functionhandleResultFromServer(result,context)
{
document.getElementById("txtResult").value=result;
}

handleResultFromServer()办法则卖力将从服务器传回的数据写到txtResult这个文本框内里。

再看看服务器真个代码:

publicpartialclassDefault_aspx:System.Web.UI.ICallbackEventHandler
{
privateStringClientScript
{
get
{
returnthis.GetCallbackEventReference(this,"param","handleResultFromServer","context");
}
}

publicstringRaiseCallbackEvent(stringeventArgument)
{
return"客户端在["+DateTime.Now.ToString()+"]传送来["+eventArgument+"].";
}
}

我们让页面间接完成ICallbackEventHandler接口,然后接口界说的RaiseCallbackEvent()办法中将服务器的工夫和传来的数据一同前往归去。

ClientScript属性的感化是,它挪用了页面的GetCallbackEventReference()办法,取得了让客户端有才能挪用服务器端办法的JS剧本,并输入到页面的callToServer()办法中,如许,点击页面按钮时,就入手下手实行页面上包括了挪用服务器办法的的callToServer()办法。

注重GetCallbackEventReference()办法的参数,在参数中,我们界说了客户真个哪一个变量包括了要传送给服务器,服务器办法实行后,挪用客户真个哪一个办法等信息。GetCallbackEventReference()的具体参看请看这里。

最初,我们这个页面的实行效果就是:



学习asp.net两个月有余了,除了对html、web控件比较熟悉(应该是说都能理解和接受)之外,竟不知道自己还会什么。看了两本书:《精通asp.net网络编程》(人民邮电出版社)、《asp.net实用案例教程》(清华大学出版社)。

若天明 发表于 2015-1-18 12:13:21

弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。

小妖女 发表于 2015-1-21 22:39:43

Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。

只想知道 发表于 2015-2-6 16:29:55

逐步缩小出错代码段的范围,最终确定错误代码的位置。

蒙在股里 发表于 2015-2-17 06:46:20

由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。

谁可相欹 发表于 2015-3-5 17:08:58

网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项!

灵魂腐蚀 发表于 2015-3-12 10:48:01

在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。

不帅 发表于 2015-3-19 20:50:50

但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。
页: [1]
查看完整版本: ASP.NET教程之ASP.NET 2.0,无革新页面新地步