Javascript 防止表单提交,使用Ajax检查记录,如果有记录,请继续ASP.NET MVC
我现在正在听一个表单提交我的一个观点,它正在检查记录。我想做的是,如果有记录允许表单实际呈现视图,如果不只是显示错误页面。显然,continue代码所在的“else”是空的。。有什么办法可以做到这一点吗 下面是实际截取并发布到AJAX的JS函数Javascript 防止表单提交,使用Ajax检查记录,如果有记录,请继续ASP.NET MVC,javascript,jquery,asp.net-mvc-2,Javascript,Jquery,Asp.net Mvc 2,我现在正在听一个表单提交我的一个观点,它正在检查记录。我想做的是,如果有记录允许表单实际呈现视图,如果不只是显示错误页面。显然,continue代码所在的“else”是空的。。有什么办法可以做到这一点吗 下面是实际截取并发布到AJAX的JS函数 $('form#search-form').submit(function (evt) { $.ajax({ type: 'POST', url: '<%: Url.Actio
$('form#search-form').submit(function (evt) {
$.ajax({
type: 'POST',
url: '<%: Url.Action("Details","SpecialtyTrack") %>',
data: $(this).serialize(),
success: function (response) {
if (response.results == 0) {
$('#error').fadeOut('fast');
$("#error").fadeIn('slow');
}
else {
$('#error').hide();
};
},
error: function (response) {
alert(response);
}
});
evt.preventDefault();
});
在catch中设置Response.StatusCode=500,它将在jQuery的ajax调用中触发错误回调。然后,您可以在发出警报的位置以任何方式处理错误
public ActionResult Details(string searchParameter)
{
var sP = this.spRepo.findSpecialtyTrack(searchParameter);
try
{
var record = sP.FirstOrDefault();
ViewData["directoryID"] = record.DirectoryArtItem.DirectoryCanvass.DirectoryEdition.DirectoryID;
ViewData["directoryName"] = record.DirectoryArtItem.DirectoryCanvass.DirectoryEdition.Directory.Name;
return View(sP);
}
catch (NullReferenceException)
{
Response.StatusCode = 500;
return Json(new {
results = 0
});
}
}
我将把它作为两个动作来解决 一个作为验证部分,另一个作为ajax请求(如果必须)
<% using Ajax.BeginForm("ValidateAction",new AjaxOptions{ UpdateId="HolderWhereSubmitButtonWillBe"}){
%>
validation page
<%}%>
验证页
ValidateAction的响应作为部分视图返回
<div id="HolderWhereSubmitButtonWillBe">
here will be the ajax call code and button to submit via ajax(all as partail view send as reponse for validation
</div>
下面是通过ajax提交的ajax调用代码和按钮(全部作为部分视图发送作为响应进行验证
我还想补充一些
如果(!modelstate.isvalid)返回视图()
只是为了确保
<div id="HolderWhereSubmitButtonWillBe">
here will be the ajax call code and button to submit via ajax(all as partail view send as reponse for validation
</div>