任何人都知道jquery axax post的工作示例,從服務器返回的驗證消息突出顯示相關的表單字段?jquery ajax發佈和服務器端驗證消息的幫助
該表單應該是局部視圖嗎?是否有可能使用modelstate?
乾杯
任何人都知道jquery axax post的工作示例,從服務器返回的驗證消息突出顯示相關的表單字段?jquery ajax發佈和服務器端驗證消息的幫助
該表單應該是局部視圖嗎?是否有可能使用modelstate?
乾杯
實施例附:
部分:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<div id="subContent">
<fieldset>
<legend>Subscribe</legend>
<form id="subForm" method="post" action="<%= Url.Action("Subscribe") %>">
<%= Html.ValidationSummary("Subscribe was unsuccessful. Please correct the errors and try again.") %>
<input type="text" name="name" id="name" /><%= Html.ValidationMessage("name", "*") %>
<input type="submit" />
</form>
</fieldset>
</div>
<script language="javascript" type="text/javascript">
$(document).ready(function() {
$('#subForm').live('submit', function() {
$.post($(this).attr('action'), $(this).serialize(), function(data) {
$("#subContent").replaceWith($(data));
});
return false;
});
});
</script>
控制器:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Subscribe(string name)
{
ModelState.AddModelError("name", "You must enter a name");
return PartialView("SubscribeForm");
}
正如你所建議的最簡單的方法是把整個形式進入的局部視圖,並執行一個Ajax請求返回這部分的控制器操作。如果您在此部分內使用驗證助手,則會顯示錯誤消息。
另一種替代方法是發佈到控制器的操作,該操作將所有錯誤消息放入JSON數組中並將其傳遞給視圖。然後使用JavaScript,您可以循環顯示錯誤消息並顯示它們。
感謝您的答覆。 我更喜歡選項1.我是否需要在jQuery響應中做任何事情? ('#subForm')。live('submit',function(){ $ .post($(this).attr('action'),$(this).serialize(),function(data){ //此處需要的任何內容? }); return false; }); – Chev 2010-04-07 10:15:40