我是C#,ASP.NET和MVC2的绝对初学者,这意味着我可能会遗漏一些非常基本的东西。我试图搜索它,但在这里,我没有为谷歌而不是StackOverflow提出适当的咒语,所以问题出现了:
我正在尝试使用两个操作创建一个基本控制器:
[HttpPost]
public ViewResult Create(CustomerCreateData data)
{
CustomerRecord cr = //create customer record from input data...
return RedirectToAction("Details");
}
public ViewResult Details(int id)
{
CustomerRecord cr = // load customer record with specified id...
return View(cr);
}
我的想法是在成功POST /Customer/Create
后,用户将被重定向到GET /Customer/Details/42
,其中42是新创建的客户记录的ID。
ASP.NET MVC2
中适当的咒语是什么? PS - 我看过无数重定向到"Index"
动作的例子,但这还不够。
答案 0 :(得分:4)
您可以将数据传递给RedirectToAction
方法:
return RedirectToAction("Details", new { id = cr.Id });
假设您有一个已定义的路线,例如Customer/Details/{id}
或您仍然拥有默认路由{controller}/{action}/{id}
。
答案 1 :(得分:1)
在创建ActionResult中,创建成功后会执行这样的操作(或者例如重新执行此操作):
return RedirectToAction("Details", new { Id = cr.Id });
此代码生成重定向到Details / id / {cr.Id}。 抱歉英语不好(我是意大利语)