我有两个控制器操作概述如下:
public ViewResult TitleStorylines(int id)
{
var vm = Service.Get(id);
vm.IsEditable = User.HasPermission(SecurityPermissionType.ManageStorylines);
return View(vm);
}
public ViewResult TitleStorylinesCreate(TitleStorylineModel model)
{
var created = Service.Create(model);
return TitleStorylines(created.TitleId);
}
我的项目中只有一个名为TitleStorylines
的视图,第一个控制器操作处理正常。但是当我调用第二种方法时,它会给我一个错误,说它找不到名为TitleStorylinesCreate
的视图,即使我明确地调用了前一种方法。是什么给了什么?
答案 0 :(得分:3)
你试过吗?
return View("TitleStorylines",created.TitleId);
编辑:根据您的更新:我猜您要将表单发布回TitleStorylinesCreate。所以可能在保存之后,你不想将用户重定向回相同的Get动作吗?
[HttpPost]
public ViewResult TitleStorylinesCreate(TitleStorylineModel model)
{
var created = Service.Create(model);
return RedirectToAction("TitleStorylines",new { @id=created.TitleId});
}
在上面的示例中,我们正在执行PRG模式。 发布 - >重定向 - >获得强>
保存后,我们将它们重定向回第一种方法。它将是HTTP GET
方法。
答案 1 :(得分:0)
public ActionResult TitleStorylinesCreate(TitleStorylineModel model)
{
var created = Service.Create(model);
return RedirectToAction("TitleStorylines",new { @id=created.TitleId});
}