首页 > Web开发 > 详细

MVC常用跳转页面的方法

时间:2020-08-12 11:36:23      阅读:79      评论:0      收藏:0      [点我收藏+]

MVC常用跳转页面的方法

1、利用View()直接返回视图(不执行Action方法)

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

    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>
    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,不会跳转页面。

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

 

MVC常用跳转页面的方法

原文:https://www.cnblogs.com/mvpbest/p/13488998.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!