|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我也不知道,我原来理解的,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实用案例教程》(清华大学出版社)。 |
|