在IE 8/7 MVC2中替换targetid后的Ajax.begin重定向

在IE 8/7 MVC2中替换targetid后的Ajax.begin重定向,ajax,asp.net-mvc,asp.net-mvc-2,Ajax,Asp.net Mvc,Asp.net Mvc 2,你为什么这样做?它可以在Chrome和firefox上正常工作,所以我把它放进去了 view.ascx <% using (Ajax.BeginForm("Action1", "TheController", new { pid= Request.QueryString["pid"] }, new AjaxOptions { InsertionMode = InsertionMode.Replace, HttpMethod = "POST", UpdateTargetId = "setti

你为什么这样做?它可以在Chrome和firefox上正常工作,所以我把它放进去了

view.ascx

<% using (Ajax.BeginForm("Action1", "TheController", new { pid= Request.QueryString["pid"] }, new AjaxOptions { InsertionMode = InsertionMode.Replace, HttpMethod = "POST", UpdateTargetId = "setting-modal-body", OnSuccess = "fnPreloadAttr" }, new { @class = "form-horizontal", id = "setting-edit-form" }))
                   {%>
                <div id="setting-modal-body" class="clearfix">
                    <%Html.RenderPartial("SettingModal"); %>
                </div>
                <%}   %>

它工作正常,并替换了设置模态体的内容,但不久之后IE将页面重定向到Action1,因为“onload”事件,如何防止这种情况发生?

放弃使用ajax.beginform,在完成onsubmit后不会返回false,所以我改用它

  <form action="/TheController/Action1?pid=<%=Request.QueryString["pid"] %>" class="form-horizontal" id="setting-edit-form" method="post" onsubmit="Sys.Mvc.AsyncForm.handleSubmit(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, httpMethod: 'POST', updateTargetId: 'setting-modal-body', onSuccess: Function.createDelegate(this, fnPreloadAttr) });return false;">

mvc2 ajax并不好

  <form action="/TheController/Action1?pid=<%=Request.QueryString["pid"] %>" class="form-horizontal" id="setting-edit-form" method="post" onsubmit="Sys.Mvc.AsyncForm.handleSubmit(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, httpMethod: 'POST', updateTargetId: 'setting-modal-body', onSuccess: Function.createDelegate(this, fnPreloadAttr) });return false;">