[100分]求ms ajax中关于js 调用服务端代码的方法

问题描述

以前用AjaxPro好像很容易,但换成MsAjax后不知该怎么做.要能实现异步回传的,就是在页面中使用了UpdatePanel控件.我提问一般都是给100分的.知道的快来吧.

解决方案

解决方案二:
没用过.
解决方案三:
该回复于2008-04-10 08:33:57被版主删除
解决方案四:
没用过.
解决方案五:
该回复于2008-04-10 08:33:55被版主删除
解决方案六:
我现在正在学一本书叫asp.netajax程序设计第II卷microsoftajaxlibrary异步通信层是陈黎夫写的讲的都是客户端编程.
解决方案七:
微软教程(深入浅出AJAX)有讲这些的,很好很强大,讲得不错
解决方案八:
不是吧,没人懂.
解决方案:
是啊,用UpdatePanel太小题大作了,会的师傅指点一下.
解决方案:
JF,http://www.cnblogs.com/dflying/archive/2006/11/27/573860.html
解决方案:
首先页面上要有ScriptManager后台代码:usingSystem.Web.Services;[WebMethod]publicstaticDateTimeGetCurrentTime(){returnDateTime.UtcNow;}

前台代码:<inputtype="button"value="GetCurrentTime"onclick="getCurrentTime()"/><scriptlanguage="javascript"type="text/javascript">functiongetCurrentTime(){PageMethods.GetCurrentTime(getCurrentTimeSucceeded);}functiongetCurrentTimeSucceeded(result){alert(result);}</script>

解决方案:
引用楼主gxzys的帖子:

以前用AjaxPro好像很容易,但换成MsAjax后不知该怎么做.要能实现异步回传的,就是在页面中使用了UpdatePanel控件.我提问一般都是给100分的.知道的快来吧.

页面中你是看不到回调的。封装好了,ASP.NETAJAX第一卷讲UpdatePanel,就是你把以前做的项目打开,把所有的控件放到UpdatePanel里面,执行的时候,无刷新,哈哈,完全不用改任何代码,全部封装好了。ASP.NETAJAX第二卷,讲回调就非常详细了。主要是讲客户端调用WebServices,和AjaxPro原理就有点像了。建议你直接看第二卷。
解决方案:
另外和我有点像,我提问都是给100分。
解决方案:
ASP.NETAJAX是不需要用JS来调用客户端方法的.像服务器控件一样使用,只是他刷新的<UpdatePanel>内部内容.其实我也不怎么懂,用ASP.NETAJAX可以给服务端方法传参数的吗?
解决方案:
手写代码吧.....
解决方案:
up
解决方案:
把需要无刷新的控件放在UpdatePanel里就行了外面好象还要加个什么manage什么的
解决方案:
上面有正解了,你自己慢慢看吧
解决方案:
<scriptrunat="server">protectedvoidPage_Load(objectsender,EventArgse){if(this.Page.IsPostBack){System.Threading.Thread.Sleep(3000);}}protectedvoidGvR_DataBound(objectsender,GridViewRowEventArgse){GridViewGV=(GridView)sender;if(GV.SortExpression.Length>0){intcellIndex=-1;foreach(DataControlFieldfieldinGV.Columns){if(field.SortExpression==GV.SortExpression){cellIndex=GV.Columns.IndexOf(field);break;}}if(cellIndex>-1){if(e.Row.RowType==DataControlRowType.Header){e.Row.Cells[cellIndex].CssClass+=(GV.SortDirection==SortDirection.Ascending?"sortascheader":"sortdescheader");}elseif(e.Row.RowType==DataControlRowType.DataRow){e.Row.Cells[cellIndex].CssClass+=(e.Row.RowIndex%2==0?"sortaltrow":"sortrow");}}}}</script><body><formid="form"runat="server"><asp:ScriptManagerrunat="server"/><scripttype="text/javascript">functiononUpdating(){varpnlPopup=$get('<%=this.pnlPopup.ClientID%>');varpnlPopupBounds=Sys.UI.DomElement.getBounds(pnlPopup);vargridView=$get('<%=this.gvCustomers.ClientID%>');vargridViewBounds=Sys.UI.DomElement.getBounds(gridView);pnlPopup.style.display='';varx=gridViewBounds.x+Math.round(gridViewBounds.width/2)-Math.round(pnlPopupBounds.width/2);vary=gridViewBounds.y+Math.round(gridViewBounds.height/2)-Math.round(pnlPopupBounds.height/2);Sys.UI.DomElement.setLocation(pnlPopup,x,y);}functiononUpdated(){varpnlPopup=$get('<%=this.pnlPopup.ClientID%>');pnlPopup.style.display='none';}</script><div><asp:UpdatePanelID="updatePanel"runat="server"UpdateMode="Conditional"><ContentTemplate><asp:GridViewID="GridView1"runat="server"AllowSorting="true"OnRowDataBound="GvR_DataBound"AutoGenerateColumns="false"><Columns>...</Columns></asp:GridView></ContentTemplate></asp:UpdatePanel><ajaxToolkit:UpdatePanelAnimationExtenderrunat="server"TargetControlID="updatePanel"><Animations><OnUpdating><Parallelduration="0"><ScriptActionScript="onUpdating();"/></Parallel></OnUpdating><OnUpdated><Parallelduration="0"><ScriptActionScript="onUpdated();"/></Parallel></OnUpdated></Animations></ajaxToolkit:UpdatePanelAnimationExtender></div></form></body>
解决方案:
楼主给我100分···
解决方案:
mark
解决方案:
这个问题困扰我好久了,没用ajax时可以用_doPostBack实现,用了ajax后,好像button生成的html不一样了,现在用ajaxToolkit后,连onclick的代码都不生成了,真郁闷.9楼10楼的方法用的是静态方法,不实用,其实我自己都发现用gridview控件的oncommand事件可以期骗服务端,但太麻烦,有没有更好的方法,直接js调用服务端代码,继续顶.谁有解块方案的加到200分都行.来抢分啊.
解决方案:
up
解决方案:
直接使用ajax来执行服务器代码就可以,什么dll都不需要给个简单的例子给你,获取服务器时间的test.aspx,注意名字不要改,要不需要修改对应的js<%@PageLanguage="C#"debug="true"%><scriptrunat="server">voidPage_Load(Objectsender,EventArgse){if(Request.QueryString["readtime"]=="1"){Response.Write(ServerMethodGetTime());Response.End();//停止输出}}protectedstringServerMethodGetTime(){return"服务器时间:"+DateTime.Now.ToString();}</script><html><head></head><body><inputtype="button"onclick="ExecServerMethod()"value="点我执行获取服务器时间的方法"/><scripttype="text/javascript">functioncreateObj(){varo=null;if(typeof(XMLHttpRequest)!="undefined")returnnewXMLHttpRequest();//ie7和w3cif(window.ActiveXObject)//ie6-{varMSXML=["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHTTP"];for(vari=0;i<MSXML.length;i++){try{o=newActiveXObject(MSXML[i]);returno;}catch(e){}}}}functionExecServerMethod(){varo=createObj();if(o){o.onreadystatechange=function(){if(o.readyState==4)//已经返回{if(o.status==200)//成功返回alert(o.responseText);elsealert("发生错误!");}}//如果你改了aspx的名称,注意这里要改成一样的名称,要不出现404错误o.open("get","test.aspx?readtime=1&rnd="+Math.random(),true);o.send(null);//发送请求}elsealert("创建对象失败!");}</script></body></html>

解决方案:
无满意答案.
解决方案:
PatrickPan

我是这样理解的:AjaxPro和微软的ajax.net都可以显示无刷新。AjaxPro需要收写代码,调用服务器端方法,用JavaScript在UI上显示。微软的Ajax则是傻瓜式的,调用服务端方法都是在控件中集成了,不需要手写回调服务端方法。合理使用一些例如UpdatePanel之类的组件就OK了。

解决方案:
回25楼:关键是,我如何通过JS调用后台代码刷新UpdatePanel呢?
解决方案:
up
解决方案:
gz一下
解决方案:
不用写代码,设置好就OK了。
解决方案:
学习,up
解决方案:
发了这么多天了,没人解答.
解决方案:
没人知道啊.
解决方案:
不喜欢asp.netajax.要是我我就手写..同意23楼的做法.
解决方案:
回25楼:关键是,我如何通过JS调用后台代码刷新UpdatePanel呢?==============================================不用寫JS代碼,都封裝好了,直接拿來用就OK了。配置好UpdatePanel就行了。這是asp.netajax開發的初衷,傻瓜似的。如果要手寫代碼像ajax.netpro那樣,直接用ajax.netpro就OK了。不是沒人知道,是你的理解力有問題。
解决方案:
学习

时间: 2024-10-26 05:57:54

[100分]求ms ajax中关于js 调用服务端代码的方法的相关文章

100分求C#和C++都能够加解密的代码

问题描述 我有一个DLL是用VC写的DES加密,但是用VC的DES加密后的密文用C#解密不了,因此很郁闷,只能把C++的DLL放到服务器上让C#来调,这样勉强解决,但后来又用的是免费空间了,人家不让用VC的DLL了,顺便说一下用的是常来网的免费空间http://web.99081.com/sysweb/RegTrans.aspx?CodeProvider=ymfhcn支持ASP.NET2.0,我本地调用VC的DLL是正常的,但在免费空间里就不行,因此求一个解决方案,让C++和c#都能够正常加解密

请问web开发中,js调用DLL动态库,同一台pc机调用了不同的动态库,有的动态库调不到,怎么办?

问题描述 请问web开发中,js调用DLL动态库,同一台pc机调用了不同的动态库,有的动态库调不到,怎么办? 两个动态库,一个医保刷卡的,一个刷POS的,单独使用POS机,能正常使用,但是如果之前使用过医保刷卡机,就不能进入POS的动态库了,感觉像是冲突了一样,哪个大神能帮忙解决一下. 解决方案 两个动态库,一个医保刷卡的,一个刷POS的,单独使用POS机,能正常使用,但是如果之前使用过医保刷卡机,就不能进入POS的动态库了,感觉像是冲突了一样,哪个大神能帮忙解决一下.

js调用百度广告代码

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-

js调用屏幕宽度的简单方法_javascript技巧

如下所示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Co

调用服务端的webservice接口异常,axis2,求大神解答,,拜托,拜托,感谢~~~

问题描述 调用服务端的webservice接口异常,axis2,求大神解答,,拜托,拜托,感谢~~~ 异常信息如下:Exception in thread ""main"" AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server faultSubcode: faultString: org.apache.axis2.databinding.ADBException: Unexpec

struts2.0-在struts2 中写json-rpc的服务端

问题描述 在struts2 中写json-rpc的服务端 在struts2中怎么写一个让别人调用的json-rpc的服务端 解决方案 Struts2中使用JSON做数据的get/post,方法有很多种,这里有一篇文章比较详细的列举出了JSON在Struts和Servlet中如何GET: http://yshjava.iteye.com/blog/1333104 Servlet的不写了,也就是how to use HttpRequest和HttpResponse.主要是在Struts2身上. 以文

java中建立客户端和服务端的思想步骤是如何确立..请大神解答下..

问题描述 java中建立客户端和服务端的思想步骤是如何确立..请大神解答下.. 解决方案 解决方案二: 解决方案三:首先,你得有客户端和服务器端相关的配置信息,我不知道你现在的交互是数据库还是什么??

java中利用反射调用另一类的private方法的简单实例_java

我们知道,Java应用程序不能访问持久化类的private方法,但Hibernate没有这个限制,它能够访问各种级别的方法,如private, default, protected, public. Hibernate是如何实现该功能的呢?答案是利用JAVA的反射机制,如下:  import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class ReflectDemo

100分求CustomValidator验证控件的问题

问题描述 上传图片,用的是服务器端控件FileUpload,想用CustomValidator验证图片上传的大小,不想在后台判断,请问代码应该怎么写啊,在此跪求了,图片上传大小控制在200k 解决方案 解决方案二:用CustomValidator来验证这个好像不好弄吧,你用JAVASCRIPT来控制呢百度里搜一下,有很多这样的资料的解决方案三:靠JShttp://blog.csdn.net/drago37net/archive/2006/09/12/1214938.aspx参考下...解决方案四