iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >ASP.NET MVC实现登录后跳转到原界面
  • 233
分享到

ASP.NET MVC实现登录后跳转到原界面

2024-04-02 19:04:59 233人浏览 安东尼
摘要

有这样的一个需求:提交表单,如果用户没有登录,就跳转到登录页,登录后,跳转到原先表单提交这个页面,而且需要保持提交表单界面的数据。 提交表单的页面是一个强类型视图页,如果不考虑需要保

有这样的一个需求:提交表单,如果用户没有登录,就跳转到登录页,登录后,跳转到原先表单提交这个页面,而且需要保持提交表单界面的数据。

提交表单的页面是一个强类型视图页,如果不考虑需要保持提交表单界面的数据,可以先设计这样的一个Model:

public class Student
{
    public string Name{get;set;}
    public string ReturnUrl{get;set;}
}

在提交表单的视图页,大致这么写:

@using (html.BeginFORM("Index", "Home", FormMethod.Post))
{
    @Html.Hidden("ReturnUrl", Request.Url.PathAndQuery)
    @Html.TextBoxFor(m => m.Name)
    <input type="submit" value="提交"/>
}

在控制器中大致这么写:

public ActionResult Index()
{
    return View(new Student());
}
[HttpPost]
public ActionResult Index(Student student)
{
    return Redirect(student.ReturnUrl);
}

可是,虽然回到了表单提交的强类型视图页,表单数据却没有得以保持。

于是,想到了使用如下方式:

return View("someview", somemodel);

someview的名称如何获取呢?

public ActionResult Index()
{
    return View(new Student());
}

以上,如果我们获取到action的名称就相当于获取到视图的名称!

重新设计Model:

    public class Student
    {
        public string Name { get; set; }
        public string ControllerName { get; set; }
        public string ActionName { get; set; }
    }

可以先从路由中把action名称拿到,然后赋值给Student的ActionName属性。

    public class HomeController : Controller
    {
        
        public ActionResult Index()
        {
            Student student = new Student()
            {
                ActionName = this.ControllerContext.RouteData.Values["action"].ToString(),
                ControllerName = this.ControllerContext.RouteData.Values["controller"].ToString()
            };
            return View(student);
        }
        [HttpPost]
        public ActionResult Index(Student student)
        {
            ViewBag.msg = "我又回来了~~";
            //如果是登录,先验证,验证成功执行下面的代码
            return View(student.ActionName, student);
        }
    }

以上,student.ActionName值既是action名称也是view名称。

在提交表单的强类型视图页:

@model mvcApplication1.Models.Student
@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Index</h2>
<div>@ViewBag.msg</div>
@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{
    @Html.TextBoxFor(m => m.Name)
    <input type="submit" value="提交"/>
}

所以,面对本篇开始描述的需求,仅仅跳转是不够的,需要向某个视图传递Model,而其中的关键是:
1、从路由中获取action名称
2、action名称和view名称一致 

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对编程网的支持。如果你想了解更多相关内容请查看下面相关链接

--结束END--

本文标题: ASP.NET MVC实现登录后跳转到原界面

本文链接: https://www.lsjlt.com/news/167327.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ASP.NET MVC实现登录后跳转到原界面
    有这样的一个需求:提交表单,如果用户没有登录,就跳转到登录页,登录后,跳转到原先表单提交这个页面,而且需要保持提交表单界面的数据。 提交表单的页面是一个强类型视图页,如果不考虑需要保...
    99+
    2024-04-02
  • PyQt5实现用户登录GUI界面及登录后跳转
    PyQt5是强大的GUI工具之一,通过其可以实现优秀的桌面应用程序。希望通过一个简单的登录页面可以让大家顺利入坑,如有不妥之处还请大佬指点改正! 导入业务需要的所有的扩展包。 ...
    99+
    2024-04-02
  • PyQt5怎么实现用户登录GUI界面及登录后跳转
    这篇文章主要讲解了“PyQt5怎么实现用户登录GUI界面及登录后跳转”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PyQt5怎么实现用户登录GUI界面及登录后跳转”吧!导入业务需要的所有的扩...
    99+
    2023-06-25
  • React利用路由实现登录界面的跳转
    上一篇在配置好了webpack和react的环境后,接下来开始写登录界面,以及接下来的跳转到主页的功能。 1、首先看一下总体的目录结构。 因为很多时候在看别人写的例子的时候因为目录...
    99+
    2024-04-02
  • Vue Router 实现登录后跳转到之前想要访问的页面
    目录简介简单示例补充用户退出时的处理进阶简介 该功能主要用于判定用户权限,在用户无权限时重定向至登录页,并在用户完成登录后,再定向至用户之前想要访问的路由;或者用户在任意路由点击登录...
    99+
    2022-12-14
    Vue Router 登录跳转 Vue Router 登录后跳转访问页面
  • JavaFX实现界面跳转
    界面跳转,很常见的一个功能,在桌面程序中,可以多窗口跳转,也可以在一个窗口中跳转。不同方式对应不同场景。下面简单介绍一下,JavaFX中单窗口界面跳转方式。 BorderPane 跳...
    99+
    2024-04-02
  • Laravel怎么实现登陆过期后跳转到登陆页面
    这篇文章主要讲解了“Laravel怎么实现登陆过期后跳转到登陆页面”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Laravel怎么实现登陆过期后跳转到登陆页面”吧!一、应用场景:用户登陆后存...
    99+
    2023-07-04
  • JavaFx实现登录成功跳转到程序主页面
    本文实例为大家分享了JavaFx实现登录成功跳转到程序主页面的具体代码,供大家参考,具体内容如下 1、需求 登录页面在输入账号密码之后,验证账号密码时候正确,正确就跳转到应用程序的首...
    99+
    2024-04-02
  • uniapp登录成功后跳转到其他页面刷新
    随着互联网的发展,移动端开发变得越来越重要。基于此,uniapp应运而生,成为了现今流行的一种跨平台移动端开发框架。在uniapp中,登录是一个非常常见的功能,而刷新问题也是开发过程中需要考虑的一个问题。本文将详细介绍如何在uniapp中实...
    99+
    2023-05-22
  • Java界面编程实现界面跳转
    本文实例为大家分享了Java界面编程实现界面跳转的具体代码,供大家参考,具体内容如下 在事件处理中创建对象 public void actionPerformed(ActionEve...
    99+
    2024-04-02
  • ajax如何实现session超时跳转到登录页面
    这篇文章给大家分享的是有关ajax如何实现session超时跳转到登录页面的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。问题:使用window.location.href来跳转页面的时候,后端只需实现一个过滤器就...
    99+
    2023-06-08
  • vue实现token过期自动跳转到登录页面
    这几天项目提测,测试给我提了个bug,说token过期,路由应该自动跳转到登陆页面,让用户重新登录。先说下一些前置条件, 1:我公司的token时效在生产环境设置为一个小时,当to...
    99+
    2024-04-02
  • jquery实现登陆跳转页面跳转页面跳转
    在Web开发中,很常见的一种需求是用户通过输入账号和密码完成登陆操作后,跳转到不同的页面。这一过程中需要用到Javascript库中非常流行的jQuery来实现。jQuery是一个快速、简洁的JavaScript库,其设计思想是“写更少,做...
    99+
    2023-05-25
  • react.js实现页面登录跳转示例
    1,页面目录信息: 2,从index.js导入路由信息BasicRoute.js,然后BasicRoute.js中存储App.js和StatisticsInformation.js...
    99+
    2023-01-31
    react.js登录跳转 react.js页面跳转
  • ASP.NET MVC使用Log4Net记录异常日志并跳转到静态页
    本篇体验在ASP.NET MVC 4中使用Log4Net记录日志。 通过NuGet安装Log4Net。 需求是:当出错时导向到Error.html静态页面,Log4Net记录错误信...
    99+
    2024-04-02
  • PHP登录成功后传值跳转页面
    PHP登录成功后传值跳转页面 在Web开发中,用户登录是一个非常基础且常见的功能。在用户成功登录系统后,通常会需要将用户的相关信息传递到下一个页面,以便后续操作或显示用户个性化内容。本...
    99+
    2024-03-12
    php 登录 跳转
  • spring security登录成功后跳转回登录前的页面
    目录spring security登录成功后跳转回登录前的页面需求如下代码如下Springsecurity 配置文件和登录跳转项目结构直接上springsecurity配置文件自定义...
    99+
    2024-04-02
  • JavaFx如何实现登录成功跳转到程序主页面
    今天小编给大家分享一下JavaFx如何实现登录成功跳转到程序主页面的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1、需求登录...
    99+
    2023-07-02
  • JavaFX如何实现界面跳转
    本篇内容主要讲解“JavaFX如何实现界面跳转”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaFX如何实现界面跳转”吧!BorderPane 跳转利用BorderPane的setCente...
    99+
    2023-07-02
  • jsp实现登录界面
    本文实例为大家分享了jsp实现登录界面的具体代码,供大家参考,具体内容如下 一.用户登录案例需求: 1.编写login.jsp登录页面 username & pas...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作