[英]RedirectToAction in ASP.Net MVC
我正在使用ASP.net MVC 4
我有以下控制器:
public class PersonController : Controller
{
public ActionResult Edit(int id)
{
//todo something.........
}
[HttpPost]
public ActionResult Edit(PersonModel model)
{
//todo something.........
return RedirectToAction("Edit", model.Id); // => Okay
}
public ActionResult Create()
{
//todo something............
}
[HttpPost]
public ActionResult Create(PersonModel model)
{
//todo something........
return RedirectToAction("Edit", new { id = model.Id } ); //=>Okay
//return RedirectToAction("Edit", model.Id); // => exception???, but Edit Action is Okay**
}
}
我认为您有例外,因为RedirectToAction
方法具有6个签名,并且在您编写RedirectToAction("Edit", model.Id);
它可以视为字符串,并将搜索名称为model.Id
的控制器。 在这里看看MSDN:RedirectToAction 。 希望对您有帮助
默认情况下,MVC支持'ID'而不支持'id'或其他任何形式:
在您的代码中::
public ActionResult Edit(int id)
{
//todo something.........
}
在这里,您已经声明了int id
因为::
return RedirectToAction("Edit", model.Id);
这是行不通的。
如果已将您的“编辑”操作声明为::
public ActionResult Edit(int ID)
{
//todo something.........
}
那么你可以使用这个:
return RedirectToAction("Edit", new { @Id = model.Id } );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.