部分ビューを「追加」と呼んでいるメインビューがあります。この[追加]ビューは送信ボタンのあるフォームであり、モーダルポップアップボックスとして表示しています。フォームを送信するために、アクションメソッドをajaxで呼び出しています。ここで、2つのことが必要です。1。投稿されたデータが有効な場合は、成功メッセージを表示してモーダルを閉じます。2.検証エラーがある場合は、フィールドを強調表示しながらモーダルポップアップに表示します。モーダルを表示するためにTwitterブートストラップを使用しています。Ajax呼び出し:
$.ajax({
url: urlForSavingAdd,
data: JSON.stringify(dataToSend),
cache: false,
type: 'POST',
dataType: 'application/JSON',
contentType: "application/json;charset=utf-8",
success: function (data, status) {
$('#divAddNew').html(data.Message);
$('#divAddNew').fadeOut();
},
error: function (xhr, ajaxOptions, thrownError) {
var errorMessage = xhr.responseText;
$('#divAddNew').html(errorMessage);
$('#divAddNew').show();
}
});
コントローラー-
[HttpPost]
public JsonResult Add(SomeModel add)
{
if (ModelState.IsValid)
{
//Save item to DB
return Json(new
{
Message = "Record saved successfully to the Database."
});
}
else
{
return Json(new
{
Message = GetModelStateErrors(this.ModelState);
});
}
}