MVC后台页面跳转的常用方法

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

public class ScoreController : Controller
{
    public ActionResult Index(string name, int age)
    {
        #region View()的三种写法
        return View();//返回Index视图
        return View("Create");//返回Create视图
        return View("/User/Create");//不能返回User/Create视图,MVC只检查Score文件夹(action所在的控制器)及Share文件夹(模板页)
        #endregion
    }
}

2、利用Redirect()跳转Action

public class ScoreController : Controller
{
    public ActionResult Index(string name, 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 class ScoreController : Controller
{
    public ActionResult Index(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 class HomeController : Controller
{
    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) { }
    });
}
public class HomeController : Controller
{
    public ActionResult Logout()
    {
        Session.Abandon();
        return Redirect("/Login/Index");
        //return RedirectToAction("Index", "Login");
        //return View("/Login/Index");
    }
}

6、Core框架跨Area重定向

Statrup.cs中的路由配置

app.UseMvc(routes =>
{
    routes.MapAreaRoute(
      name: "areasSys",
      areaName: "Sys",
      template: "Sys/{controller=Home}/{action=Index}/{id?}"
    );

    routes.MapAreaRoute(
      name: "areasPersonalAccount",
      areaName: "PersonalAccount",
      template: "PersonalAccount/{controller=Home}/{action=Index}/{id?}"
    );

    routes.MapRoute(
            name: "default",
            template: "{controller=Home}/{action=Index}/{id?}");
});

Home控制器的Index页及后台方法(最外层Home重定向到Sys区域)

<div class="row">
    <div class="col-md-3">
        <a href="/Home/SkipToAreaSys">跳转到AreaSys</a>
    </div>
</div>

public class HomeController : Controller
{
    public IActionResult Index()
    {
        return View();
    }

    public IActionResult SkipToAreaSys()
    {
        //[跨Area重定向方法1]
        return Redirect("/Sys/Sys_Dictionary/Index");
    }
}

Sys_Dictionary控制器的Index页及后台方法(Sys区域重定向到PersonalAccount区域)

<div class="row">
    <div class="col-md-3">
        <a href="/Sys/Sys_Dictionary/SkipToAreaPersonalAccount">跳转到AreaPersonalAccount</a>
    </div>
</div>

public class Sys_DictionaryController : Controller
{
    public IActionResult Index()
    {
        return View();
    }

    public IActionResult SkipToAreaPersonalAccount()
    {
        //[跨Area重定向方法1]
        return Redirect("/PersonalAccount/PersonalAccount_Apply/Index");
    }
}

PersonalAccount_Apply控制器的Index页及后台方法(PersonalAccount区域重定向到最外层Home)

<div class="row">
    <div class="col-md-3">
        <a href="/PersonalAccount/PersonalAccount_Apply/SkipToHome">跳转到Home</a>
    </div>
</div>

public class PersonalAccount_ApplyController : Controller
{
    public IActionResult Index()
    {
        return View();
    }

    public IActionResult SkipToHome()
    {
        //[跨Area重定向方法1]
        return Redirect("/Home/Index");
    }
}

 

  • 12
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
该源码实现了TayCMS免费企业建站系统 v1.8 for PHP,由于精力有限,程序更新比较慢,请大家谅解,再次感谢支持taycms的朋友们,虽然比较慢,我们还是会一直更新下去的。谢谢您的关注。有什么建议可以到论坛提出,或者直接给我QQ留言。 2.0会有很多新功能,请关注官方论坛 TayCMS 1.8 升级日志 此版本修复了不少BUG 1.更换图片切换JS , 不会再有错误提示 2.增加资料下载模块 3.更换默认模版,使程序功能和页面结构更清晰,方便参考制作模版 4.修复留言列表,未审核留言降不显示 5.优化自动缩略图功能,使产品缩略图片看起来更清晰不变形 6.修复各模块的小bug TayCMS 1.5 升级日志 1.程序更名为TayCMS免费建站系统,TayGod作为团队名称使用 2.大改后台界面 (使用jquery esayui 使界面更美观 操作更便捷) 3.完善信息分类管理,单表管理所有分类,更方便管理 使数据结构更清晰更简洁,方便二次开发 4.增加友情链接管理功能 5.增加导航菜单管理功能 6.优化后台代码,增加字符串安全检查,可以防住大部分的入侵。 7.修正留言功能。 8.免费版取消人才招聘功能,使用单页信息代替 9.更多新功能 请使用后发现 TayCMS免费企业建站系统PHP版是一款基于php+mysql+ci的免费开源建站系统。整套系统的设计构造,完全考虑中小企业类网站的功能要求,网站后台功能强大,管理简捷,支持模板机制,能够快速建立您的企业网站。 系统特性: 采用流行的php+mysql设计,功能强,实用性高。 MVC代码美工完全分离,维护更方便。 运行环境需要空间能支持PHP,并且您需要购买或者安装MYSQL数据库。 完美整合KindEditor编辑器,所见所得发布各类图文信息。 后台操作简洁,无需专业知识,即可掌控整站。 风格模板机制简单,通过简单的HTML制作即可,后台提供完善的标签调用说明与示例。 后台数据库备份,您可以通过FTP工具将备案的数据库文件下载到您本地电脑中。 安装步骤: 上传文件 解压安装包,并将目录下upload目录下的所有文件上传到网站根目录。 上传到空间后,访问您的域名,首次使用程序会自动跳转到安装程序,按照安装程序说明,检测系统环境,目录权限,设置数据库帐号,管理员帐号后 安装完成。 安装完成后请删除安装文件:sourceappcontrollersinstall.php 和 templatedefaultinstall目录 三 使用方法 模版文件名说明 index.htm 首页模版 footer.htm 通用底部模版 header.htm 通用顶部模版 job.htm 招聘模版 job_resume.htm 应聘模版 list.htm 文章列表模版 read.htm 文章内容模版 message.htm 留言模版 page.htm 单页信息模版 products.htm 产品列表模版 product_show.htm 产品内容模版 制作模版请参考默认文件夹内模版文件 如有疑问请到官方网站提出您的问题。 四 模版函数调用方法 请查看doc目录下相关文件 五 模版下载 http://www.taygod.com/viewforum.php?f=7

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

changuncle

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值