我添加/编辑下面的代码应该重定向回我的索引行动,但它似乎没有太多,它只是停留在相同的状态。RedirectToAction似乎并不奏效
更新功能运行(我已经通过调试检查),那么它应该在目前的对话只是停留返回,没有对话和更新数据的索引视图和数据表中没有更新。
任何人都知道什么是错的?我也运行在其上的捕获过,没有什么我可以看到有两种,只是似乎无法返回视图回:
[HttpPost]
public ActionResult AddEditRecord(tblEquipment Equipment, string cmd)
{
if (ModelState.IsValid)
{
switch (cmd)
{
case "Add":
try
{
db.tblEquipments.Add(Equipment);
db.SaveChanges();
return RedirectToAction("Index");
}
catch { }
break;
case "Update":
try
{
tblEquipment Item = db.tblEquipments.Where(m => m.ID == Equipment.ID).FirstOrDefault();
if (Item != null)
{
Item.AssetNo = Equipment.AssetNo;
Item.MachineName = Equipment.MachineName;
db.SaveChanges();
}
return RedirectToAction("Index");
}
catch { }
break;
}
}
if (Request.IsAjaxRequest())
{
return PartialView("_AddEdit", Equipment);
}
else
{
return View("AddEdit", Equipment);
}
}
}
编辑: 我把返回在函数的一开始(以下),它只是忽略它并更新了表格!
public ActionResult AddEditRecord(tblEquipment Equipment, string cmd)
{
return RedirectToAction("Index");
if (ModelState.IsValid)
编辑2: 好吧我认为这可能是ajax问题。
我chstml寻找产生以下表格,我需要添加return false来了吗? CSHTML
@using (Ajax.BeginForm("AddEditRecord", "UserEquipment", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "equipmentDialog" }))
生成HTML
<form id="form0" action="/UserEquipment/AddEditRecord/752" method="post" data-ajax-update="#equipmentDialog" data-ajax-mode="replace" data-ajax-method="POST" data-ajax="true" novalidate="novalidate" jQuery18206614934889497519="43">
你尝试把一个断点这一复位线? 也许以前有例外吗? – Ofiris
在你的空'catch'语句中放置一个断点。 – CodeCaster
只是把'return RedirectToAction(“Index”);'在开始工作吗? – Ofiris