[英]Ajax form validation in MVC
我有一個Ajax表單,我需要在失敗時點擊JavaScript函數,如下所示:
using (Ajax.BeginForm("UpdateStages", new AjaxOptions
{
HttpMethod = "POST",
OnSuccess = "refreshSearchResults('" + @Model.First().ItemCode + "')",
OnFailure = "showError"
}))
使用showError
函數獲取Ajax上下文響應並將其附加到div
,如下所示:
function showError(ajaxContext)
{
var response = ajaxContext.responseText;
response = $($.trim(response));
var itemVersion = response.filter("div")[0].innerHTML.trim().toString();
var error = response.filter("p")[0].outerHTML.toString();
$("#" + itemVersion.replace(".", "") + "-UpdateStagesResults").empty();
$(error).appendTo("#" + itemVersion.replace(".", "") + "-UpdateStagesResults");
}
為了在我的MVC控制器ActionResult
調用OnFailure
,當發生錯誤時:
Response.StatusCode = (int)HttpStatusCode.BadRequest;
return PartialView();
它返回一個PartialView
,其中包含ViewBag
的錯誤消息。 這在本地運行時工作正常,錯誤消息被發送到showError
函數,然后錯誤被附加到頁面。
問題是當我將應用程序放到實時服務器(IIS7)上時,Ajax上下文就是這樣
錯誤的請求
例如不是:
<p>You have not entered a valid date.</p>
<div style="display:none;">V7.0 </div>
任何幫助都會很棒!
我有這個,
在IIS7中,默認錯誤設置僅在本地顯示詳細的錯誤消息。您的視圖將替換為狀態代碼的默認值。
如果要查看自定義錯誤,請將其添加到web.config中
<system.webServer>
<httpErrors errorMode="Detailed" />
</system.webServer>
應該排序它
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.