问题描述
在一个页面上有ScriptManager控件、一个Button控件、一个Label控件,在Page_Load方法加入以下语句:this.ScriptManager1.RegisterAsyncPostBackControl(this.Button1);在Button1_Click方法加入以下语句:this.Label1.Text=System.DateTime.Now.ToString();请教:在不把Label控件放入到一个UpdatePanel中的情况下,如何使Button1在按下后收新Label1的Text属性?
解决方案
解决方案二:
那就用javascript自己实现
解决方案三:
varXmlHttp=false;functionAjaxSet(){if(window.XMLHttpRequest){XmlHttp=newXMLHttpRequest;}else{try{XmlHttp=newActiveXObject("Microsoft.XMLHTTP");}catch(e){XmlHttp=newActiveXObject("Msxml2.XMLHTTP");}}}functionAjaxSendServer(){AjaxSet();varphone=document.getElementById("phone").value;varurl="Test.aspx?id="+phone;XmlHttp.onreadystatechange=updatepage;XmlHttp.open("GET",url,true);XmlHttp.send(null);}functionupdatepage(){if(XmlHttp.readyState==4){if(XmlHttp.status==200){varreponse=XmlHttp.responseText;document.getElementById("Label1").value=reponse;XmlHttp=false;}}}--------------------CreateRequestfunction---------------------------<scriptlanguage="javascript"type="text/javascript">varrequest;functioncreateRequest(){try{request=newXMLHttpRequest();}catch(trymicrosoft){try{request=newActiveXObject("Msxml2.XMLHTTP");}catch(othermicrosoft){try{request=newActiveXObject("Microsoft.XMLHTTP");}catch(failed){request=false;}}}if(!request)alert("ErrorinitializingXMLHttpRequest!");}functiongetCustomerInfo(){createRequest();//Dosomethingwiththerequestvariable}</script>
以上代码自己变通一下就可以了
解决方案四:
谢谢JustLovePro我才开始接触asp.net和ajax,有些概念不是很清楚,我想如果使用您提供的代码的话,应该就可以不使用ScriptManager了吧,直接在Button1.onclick事件处理器中调用AjaxSendServer()就行了是吧?这个方法可行,但是我还是想知道,是否可以在服务器端写些代码刷新页面,比如在Button1_Click事件中,使用某种方式,只刷新Label1标签中的内容?请赐教!
解决方案五:
直接把按钮放在UpdatePanel控件里面就可以了如果不用第三方控件,就用纯js语言来实现。
解决方案六:
ScriptManager是用来管理其他几个ajax控件的,其中的实现逻辑应该和直接写javascript差不多,只不过它给你封装好了~还有一种方式:使用ajaxPro组件,但是这种方式也是需要客户端和服务端配合编码才行,lz可以查询相关内容了解