我目前在我的控制器中有一个方法,它接受一个表单集合,保存数据,然后将数据显示在“详细信息”页面中。目前,该代码目前看起来是这样的:ASP.NET MVC重定向模型
[HttpPost]
public ActionResult Create(PersonModel person)<br>
{
if (person.IsValid())
{
person.additionalData = "Person created successfully";
return View("Details", person);
}
}
的问题是,在返回的详细信息以这种方式查看保留URL的mysite /人/制作 - 我非常希望的URL是mysite的/人/详细资料/ IdGoesHere。
我确定这一定是可能的。显然,我可以使用Response.Redirect,但是这不允许我将模型传递给视图。据我所知,我无法使用RedirectToAction传递模型?
感谢您的帮助。
编辑:确认 - 由创建操作生成的模型不同于由详细信息操作创建的默认模型。因此,直接重定向到Action并传递Id不起作用,因为产生的模型不正确。为了提供更多上下文,创建操作中的模型包含一个附加值,说明“人员已成功创建”,如果我重定向到“详细信息”操作,则此消息不存在于模型中。
这是要走的路。如果tempdata中的简单消息不够用,您可以将整个'PersonModel'对象放入tempdata中,并将其从'Details'操作方法中的tempdata中取回。 – Charlino 2010-10-25 20:07:35