问题描述
我在页面中使用了Solpartmenu这个控件,updatepanel里的控件一点击就报错。有遇到过类似问题的么,求助。
解决方案
解决方案二:
提示什么错???
解决方案三:
这是弹出来的错误提示:Sys.WebForms.PageRequestManagerParserErrorException:Themessagereceivedfromtheservercouldnotbeparsed.CommoncausesforthiserrorarewhentheresponseismodifiedbycallstoResponse.Write(),responsefilters,HttpModules,orservertraceisenabled.Details:Errorparsingnear'<STYLE>.modulemenu_m'.
解决方案四:
up
解决方案五:
顶
解决方案六:
顶
解决方案七:
谁一起用过Solpartmenu和updatepanel,怎么解决这个问题的?
解决方案八:
引用2楼loudandan的回复:
这是弹出来的错误提示:Sys.WebForms.PageRequestManagerParserErrorException:Themessagereceivedfromtheservercouldnotbeparsed.CommoncausesforthiserrorarewhentheresponseismodifiedbycallstoResponse.Write(),responsefilters,HttpModules,orservertraceisenabled.Details:Errorparsingnear'<STYLE>.modulemenu_m'.
將你后臺的Response.Write();去掉就可以了。換成ScriptManager.RegisterStartupScript(this,this.GetType(),"edit","YourJSFunction()",true);做提示信息
解决方案九:
帮顶...
解决方案十:
我猜你的后臺是這樣寫的if(1==1){Response.Write('成功');}else{//……}
請換成if(1==1){ScriptManager.RegisterStartupScript(this,this.GetType(),"edit","alert('成功')",true);}else{//……}
解决方案十一:
updatepanel内不能使用response这样ScriptManager.RegisterStartupScript(this,this.GetType(),"edit","alert('成功')",true);
解决方案十二:
楼上说的有道理
解决方案十三:
这是我的测试页面的代码,Solpartmenu的代码我没办法去改,后台我没有使用response.write方法。<body><formid="form1"runat="server"><cc1:ToolkitScriptManagerID="ToolkitScriptManager1"runat="server"></cc1:ToolkitScriptManager><uc1:menubarid="ModuleMenu"runat="server"></uc1:menubar><div><asp:UpdatePanelID="UpdatePanel1"runat="server"><ContentTemplate><asp:ButtonID="Button1"runat="server"Text="Button"OnClick="Button1_Click"/><asp:TextBoxID="TextBox1"runat="server"></asp:TextBox></ContentTemplate></asp:UpdatePanel></div></form></body>
解决方案十四:
而且Solpartmenu这个控件也不在updatepanel内。
解决方案十五:
这里有比较完整的一般有2类解决方法:1.避免使用Response.Write()和Server.Transfer()等方法,换成等效的其它方法。2.在后台将问题控件注册一下即可。例如:protectedvoidPage_Load(objectsender,EventArgse){((ScriptManager)Master.FindControl("ScriptManager1")).RegisterPostBackControl(btnExport);}
解决方案:
引用13楼loudandan的回复:
而且Solpartmenu这个控件也不在updatepanel内。
沒用過Solpartmenu控件,建議看有沒有AutoPostBack屬性,有則改為false試試看...Up.
解决方案:
up
解决方案:
怎么还有人用微软那套ajax控件啊??用xmlhttprequest啊,自己实现比它那套好多了!
解决方案:
引用17楼Dreamkt的回复:
怎么还有人用微软那套ajax控件啊??用xmlhttprequest啊,自己实现比它那套好多了!
图方便啊。
解决方案:
//在Page_Load中加这句试试((ScriptManager)this.ToolkitScriptManager1).RegisterPostBackControl(ModuleMenu);
解决方案:
引用14楼szx1999的回复:
这里有比较完整的解决方案一般有2类解决方法:1.避免使用Response.Write()和Server.Transfer()等方法,换成等效的其它方法。2.在后台将问题控件注册一下即可。例如:C#codeprotectedvoidPage_Load(objectsender,EventArgse){((ScriptManager)Master.FindControl("ScriptManager1")).RegisterPostBackControl(btnExport);}
2的方法试过了,没用。
解决方案:
Ajax的updatepanel内不能使用response而要采用这样的弹出信息方式ScriptManager.RegisterStartupScript(this,this.GetType(),"dd","alert('成功')",true);
解决方案:
楼上说的应该是对的,我也遇到过着样的问题,还有可能是浏览器设置的问题,如果需要异步刷新控件不是很多,建议不使用Updatepanel......这些控件用起来是方便,但是有的时候出了问题也确实不好解决......
解决方案:
考虑用下面这个来做Response.write();
解决方案:
引用14楼szx1999的回复:
这里有比较完整的解决方案一般有2类解决方法:1.避免使用Response.Write()和Server.Transfer()等方法,换成等效的其它方法。2.在后台将问题控件注册一下即可。例如:C#codeprotectedvoidPage_Load(objectsender,EventArgse){((ScriptManager)Master.FindControl("ScriptManager1")).RegisterPostBackControl(btnExport);}
ToolkitScriptManager1.RegisterPostBackControl(ModuleMenu)Name'Modulemenu'isnotdeclared,该怎么写
解决方案:
学习.
解决方案:
或者给updatepanel加个trigger试试。。<Triggers><asp:PostBackTriggerControlID="ModuleMenu"/></Triggers>
解决方案:
后台调用Alert("xxxxxxx")publicvoidAlert(stringrtt){//顯示提示信息System.Web.UI.ScriptManager.RegisterClientScriptBlock(UpdatePanel1,this.GetType(),"AjaxMsgBox","alert('"+rtt+"');",true);}
解决方案:
引用26楼szx1999的回复:
或者给updatepanel加个trigger试试。。HTMLcode<Triggers><asp:PostBackTriggerControlID="ModuleMenu"/></Triggers>
还是没用
解决方案:
顶
解决方案:
学习
解决方案:
.
解决方案:
顶
解决方案:
<body><formid="form1"runat="server"><cc1:ToolkitScriptManagerID="ToolkitScriptManager1"runat="server"></cc1:ToolkitScriptManager><uc1:menubarid="ModuleMenu"runat="server"></uc1:menubar><div><asp:UpdatePanelID="UpdatePanel1"runat="server"><ContentTemplate><asp:ButtonID="Button1"runat="server"Text="Button"OnClick="Button1_Click"/><asp:TextBoxID="TextBox1"runat="server"></asp:TextBox></ContentTemplate></asp:UpdatePanel></div></form></body>都写反了,撒啊?应该为:----------------------------------------------------------------------------------------------<body><formid="form1"runat="server"><cc1:ToolkitScriptManagerID="ToolkitScriptManager1"runat="server"></cc1:ToolkitScriptManager><asp:ButtonID="Button1"runat="server"Text="Button"OnClick="Button1_Click"/><asp:TextBoxID="TextBox1"runat="server"></asp:TextBox><div><asp:UpdatePanelID="UpdatePanel1"runat="server"><ContentTemplate><uc1:menubarid="ModuleMenu"runat="server"></uc1:menubar></ContentTemplate></asp:UpdatePanel></div></form></body>
解决方案:
<body><formid="form1"runat="server"><cc1:ToolkitScriptManagerID="ToolkitScriptManager1"runat="server"></cc1:ToolkitScriptManager><asp:ButtonID="Button1"runat="server"Text="Button"OnClick="Button1_Click"/><asp:TextBoxID="TextBox1"runat="server"></asp:TextBox><div><asp:UpdatePanelID="UpdatePanel1"runat="server"><ContentTemplate><uc1:menubarid="ModuleMenu"runat="server"></uc1:menubar></ContentTemplate></asp:UpdatePanel><Triggers><asp:PostBackTriggerControlID="ModuleMenu"condition="always"event="Button1_Click"/></Triggers></div></form></body>这个最保险!!