当我使用Response.Redirect时,我正在收到以下警告框,但我需要在服务器端代码中需要它以在所有条件成功后更改页面。
我怎么能摆脱这个问题?
错误:
sys.webforms.pagerequestmanagerparseerrorexception:消息 从服务器收到的邮件无法解析。共同的casuse s为此 错误是通过调用response.write()修改响应时, 启用了响应过滤器,httpmodules或服务器跟踪。细节: 在
附近解析时出错
<!DocType html PUB'.
答案 0 :(得分:1)
当您发送AJAX请求时,您需要接收AJAX响应,其中将是重定向的URL。然后使用javascript重定向:Location.href =。
就像这个例子:
$.post(
"http://dummysite.com/Request",
parameters,
function (response) {
location.href = response.returnedUrl;
},
'json');
答案 1 :(得分:1)
假设您正在使用UpdatePanel,请将以下ScriptModule
添加到您的web.config中:
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
您的另一个选择是注册控件,将重定向作为回发控件。使用UpdatePanel,您可以通过添加PostBackTrigger
来完成此操作。您还可以使用脚本管理器:
ScriptManager.GetCurrent(Page).RegisterPostBackControl(Button1);