我有一个允许修改记录的网站。记录的页面网址采用格式/ edit / 112。
我在命令上有2个按钮(保存/删除),它使用多按钮命令将数据转发到正确的操作。转发到保存操作时,然后检查模型状态是否有效。我遇到的问题是,如果模型状态为false,我想用模型重定向回编辑视图,同时保持id仍然完整。我在返回视图时丢失URL ID的问题。
这是我的代码
[HttpPost]
[MultipleButton(Name = "action", Argument = "Update")]
public ActionResult Update(CustomerViewModel model)
{
TempData.Keep();
model.CustomerTypes = TempData["dropdownlist"] as IEnumerable<CustomerTypes>;
if (!ModelState.IsValid)
{
return View("Edit", model);
}
var status = _customerService.UpdateCustomer(model.ToServiceModel());
if (status.Result) return View("Index");
ModelState.AddModelError("Model", status.Message);
return View("Edit", model);
}
任何帮助......
答案 0 :(得分:0)
你有一堆隐藏在那里的自定义代码,所以很难肯定,但一般来说,对于包含id的路由,它需要两个部分:
您的操作需要能够接受ID:
public ActionResult Update(int id, CustomerViewModel model)
您必须在生成路线网址时传递ID(Html.ActionLink
等,或Url.Action
等等:
@Html.ActionLink("Update this!", "Update", "MyController", new { id = Model.Id })