标签:tle mail 扩展 redirect ror bsp model ati action
在MVC的每个action中,都可以指定一种返回页面的类型,可以是ActionResult,这表示返回的页面为view或者是一个PartialView,前台是一个全整页面,后台是页面的一部分。
在以ASPX为页面引擎时,PartialView被称为分部视图,扩展名为ASCX,与webform中的用户控件是一样的,即页面中的一个部分;而使用razor为页面引擎时,PartialView扩展名还是cshtml,这一点感觉与普通页面有些混乱。不过,这不是今天我要讲的重点,今天的重点间在partialview中进行页面重定向的方式。
代码如下:
1 public PartialViewResult ApplyRegister(User_Register_ApplyModel entity) 2 { 3 User_Register_Apply user_Register_Apply = new User_Register_Apply(); 4 TryUpdateModel(user_Register_Apply); 5 if (ModelState.IsValid) 6 { 7 user_Register_Apply.UserID = VCommons.Utils.GetNewGuid(); 8 VM = user_InfoManager.ApplyRegister(user_Register_Apply); 9 if (!VM.IsComplete) 10 { 11 VM.ToList().ForEach(i => ModelState.AddModelError("", i)); 12 } 13 else 14 return PartialView("ApplySuccess", entity.Email);//返回到指定的PartialView,它将替换ApplyRegister这个视图内容 15 } 16 return PartialView(); 17 }
代码如下:
1 public PartialViewResult UserLogOn(UserLogOnModel entity) 2 { 3 if (ModelState.IsValid) 4 { 5 if (LogOn(new User_Info { Email = entity.Email, Password = entity.Password }).IsComplete) 6 { 7 Response.Write("<script>location.href=‘home/index‘;</script>");//在ascx中跳到指定页,需要用JS方法 8 } 9 } 10 return PartialView(); 11 }
代码如下:
1 public PartialViewResult UserLogOn(UserLogOnModel entity) 2 { 3 if (ModelState.IsValid) 4 { 5 if (LogOn(new User_Info { Email = entity.Email, Password = entity.Password }).IsComplete) 6 { 7 Response.Redirect("/home/index"); 8 } 9 } 10 return PartialView(); 11 }
个人建议,对于partialview的action,如果只是返回视图,而不是返回json和其它格式的对象,最好使用PartialViewResult 进行返回,而不要使用ActionResult,这样可以避免一些不
必要的麻烦。
标签:tle mail 扩展 redirect ror bsp model ati action
原文地址:http://www.cnblogs.com/sjqq/p/7530623.html