MVC常用跳转页面的方法
MVC常用跳转页面的方法
1、利用View()直接返回视图(不执行Action方法)
1 2 3 4 5 6 7 8 9 10 11 | public class HomeController : Controller { public ActionResult Index() { #region View()的三种写法 return View(); //返回Index视图 return View( "Create" ); //返回Create视图 return View( "/User/Create" ); //不能返回User/Create视图,MVC只检查Score文件夹(action所在的控制器)及Share文件夹(模板页) #endregion } } |
2、利用Redirect()跳转Action
public ActionResult RedirectJump(int age) { #region Redirect()的四种写法 return Redirect("Index");//进入无参或参数均为可空类型的Index()方法,并开始死循环 return Redirect("Index?age=16");//若Index()存在不可空类型的参数则必须传递参数值,后两项若存在不可空类型的参数可参照此解决方法 return Redirect("Create");//进入无参或参数均为可空类型的Create()方法 return Redirect("/User/Index");//进入无参或参数均为可空类型的User/Index()方法 #endregion }
3、利用RedirectToAction()跳转Action
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public ActionResult RedirectToActionJump( string name, int age) { #region RedirectToAction()的四种写法 return RedirectToAction( "Index" , "Score" ); //进入无参或参数均为可空类型的Index()方法 return RedirectToAction( "Index" , "Score" , new { name = "guo" , age = 16 }); //若Index()存在不可空类型的参数则必须传递参数值,后两项若存在不可空类型的参数可参照此解决方法 return RedirectToAction( "Create" , "Score" ); //进入无参或参数均为可空类型的Create()方法 return RedirectToAction( "Index" , "User" ); //进入无参或参数均为可空类型的User/Index()方法 return RedirectToAction( "Index" , "User" , new { name = "guoguo" , age = "18" }); //进入无参或参数均为可空类型的User/Index()方法时传递参数 #endregion } |
4、通过href进行跳转
前台用href='/Home/Logout'请求,后台使用Redirect()、RedirectToAction()进行控制跳转。
<a href="/Home/Logout" class="easyui-linkbutton" plain="true" iconCls="icon-power-blue">退出</a>
1 2 3 4 5 6 | public ActionResult Logout() { Session.Abandon(); return Redirect( "/Login/Index" ); //return RedirectToAction("Index", "Login"); } |
5、通过ajax进行跳转
如果前台使用了ajax发起请求,那就只能在success:function(data){ }中进行页面跳转了,后台写的return View()、return Redirect()、return RedirectToAction()最多只能执行Action,不会跳转页面。
1 2 3 4 5 6 7 8 9 10 11 12 | function logout() { alert( "logout()" ); $.ajax({ type: "post" , url: "/Home/Logout" , success: function (data) { //window.location.href = '/Login/Index'; window.location.href = '@Url.Action("Index", "Login")' ; }, error: function (err) { } }); } |
更多了解:https://blog.csdn.net/xiaouncle/article/details/83020560
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步