DBテーブルからレコードを削除する関数を実装しました。エラーがあれば、ViewBagに渡したいと思います。しかし、ViewBag値はビューに渡されません。ビューASP.Net MVC ViewBagはAJAXによって呼び出される関数では機能しません
function DeleteSelectedRecord() {
var SelectedName = $("#lstItems").val()
$.ajax({
url: 'DeleteRecord',
method: "POST",
data: { name: SelectedName }
}).done(function() {
$("#lstItems").empty();
Search();
GetCount();
$('#modalDeleted').modal('show');
setTimeout(function() { $('#modalDeleted').modal('hide'); }, 2000);
});
}
で
コントローラ
[HttpPost]
public ActionResult DeleteRecord(string name)
{
try
{
if (!(string.IsNullOrEmpty(name)))
{
driver_tab driver = db.driver_tab.SingleOrDefault(m => m.Name == name);
db.driver_tab.Remove(driver);
db.SaveChanges();
ViewBag.Msg = "1";
MessageBox.Show(ViewBag.Msg);
return View("Main");
}
else
{
ViewBag.Msg = "2";
return View("Main");
}
}
catch (DbEntityValidationException ex)
{
ViewBag.Msg = ex.Message.ToString();
return View("Main");
}
catch (Exception ex2)
{
ViewBag.Msg = ex2.Message;
return View("Main");
}
}
のAjax機能は、私はこの<h2>@ViewBag.Msg
気に入りにこのViewBag.Msg
を使用しかし、それは動作しません。 私のコードの問題点は何ですか?
delete関数を実行した後にコントローラにエラーが発生した場合、そのメッセージをビューに渡して表示したいとします。それを達成する方法..?
あなたはMessageBox.Showを削除してくださいでした(ViewBag .Msg); ステートメントと試してみませんか? –