私は現在、自分のビューの1つに投稿したフォームを聴いていて、レコードをチェックしています。私がしたいのは、フォームが実際にビューをレンダリングできるレコードがあり、エラーページだけを表示しない場合です。明らかに、継続コードが空であると思われる "else" ..どのように私がこれを達成できるかについてのアイデア?フォームのサブミットを防ぎ、Ajaxでレコードをチェックし、レコードが残っているかどうかASP.NET MVC
実際にAJAXを傍受して投稿するJS関数です。
$('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();
});
ここでは私のコントローラのコードです:
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)
{
return Json(new {
results = 0
});
}
}