【发布时间】:2011-04-30 03:30:52
【问题描述】:
我的控制器中目前有一个方法,它接受表单集合、保存数据,然后在“详细信息”页面中显示数据。目前,代码目前看起来像:
[HttpPost]
public ActionResult Create(PersonModel person)
{
if (person.IsValid())
{
person.additionalData = "Person created successfully";
return View("Details", person);
}
}
问题在于以这种方式返回详细信息视图会保留 URL mysite/Person/Create - 理想情况下,我希望 URL 是 mysite/Person/Details/{PersonId}。
我相信这一定是可能的。显然,我可以使用 Response.Redirect,但是这不允许我将模型传递给视图。据我所知,我无法使用 RedirectToAction 传递模型?
感谢您的帮助。
编辑:确认 - Create 操作生成的模型与 Details 操作创建的默认模型不同。因此,直接重定向到 Action 并传递 Id 不起作用,因为生成的模型不正确。为了提供更多上下文,来自 Create 操作的模型包含一个附加值,表示“成功创建人员”,如果我重定向到 Details 操作,则此消息不会出现在模型中。
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-mvc-2