ASPNET MVC3技术要点(13)
发布时间:2021-06-06
发布时间:2021-06-06
ASPNET MVC3技术要点
action = "List", category = (string)null, page = 1 } );
3.2.3 重新定向
重定向使用最频繁的是用在处理POST请求的动作函数。当用户要改变状态按提交按钮后,又按重新载入,那么采取处理POST请求后直接输出HTTP的动作函数会产生不可知后果的风险,安全做法是采用Post/Redirect/Get模式,因为处理POST请求后重定向,再收到的是一个GET请求而GET请求不会修改应用程序的状态,避免应用程序状态的不确定性。 3.2.3.1 重定向到一个确定网址 public RedirectResult Redirect() {
return Redirect("/Example/Index"); //发302码是临时定向 }
public RedirectResult Redirect() {
return RedirectPermanent("/Example/Index");//发301码是永久定向 }
实际应用的例子
[HttpPost]
public ActionResult LogOn(LogOnViewModel model, string returnUrl) {
if (ModelState.IsValid) {
if (authProvider.Authenticate(erName, model.Password)) {
return Redirect(returnUrl ?? Url.Action("Index", "Admin")); } else {
ModelState.AddModelError("", "Incorrect username or password"); return View(); } } else {
return View(); } }
3.2.3.2 重定向到一个动作函数
[HttpPost]
public ActionResult Delete(int productId) {
Product prod = repository.Products.FirstOrDefault(p => p.ProductID == productId);
上一篇:S3C44B0 学习板使用指南
下一篇:朗文交互英语第二级A2答案