zoukankan      html  css  js  c++  java
  • MVC常用跳转页面的方法

    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

  • 相关阅读:
    2020牛客寒假算法基础集训营5 F 碎碎念
    性能测试过程中oracle数据库报ORA-27301 ORA-27302错
    Linux裸设备管理详解--
    GoldenGate 之 Bounded Recovery说明
    关于Oracle GoldenGate中Extract的checkpoint的理解 转载
    SMON: Parallel transaction recovery tried 引发的问题--转载
    用直接路径(direct-path)insert提升性能的两种方法
    深入理解Oracle的并行操作-转载
    oracle大表添加字段default经验分享
    Oracle Hang分析--转载
  • 原文地址:https://www.cnblogs.com/mvpbest/p/13488998.html
Copyright © 2011-2022 走看看