前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ASP.Net MVC视图间的跳转

ASP.Net MVC视图间的跳转

作者头像
全栈程序员站长
发布2022-09-15 10:53:14
1.6K0
发布2022-09-15 10:53:14
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

1:同一控制器间视图跳转 发现一个贼坑的地方,比如添加Home控制器,然后在views的home文件夹里添加Index视图和Second视图,在Index视图里想要通过超链接跳转到Second视图,需要这样写:

代码语言:javascript
复制
<a href="/Home/second">点击跳转1</a>@*这么写ok*@

成功

在这里插入图片描述
在这里插入图片描述

注意!!!!这样写就不行

代码语言:javascript
复制
<a href="~/Views/Home/second.cshtml">点击跳转2</a>@*这么写不ok*@

因为输入引号,系统会自动提示,我就按照系统提示补全了,

在这里插入图片描述
在这里插入图片描述

踩坑没办法,谁叫自己不熟练呢。。。。蛋疼 2:不同控制器间视图的跳转 在学习任务中做仓库管理系统的时候,先显示登陆注册界面,只有数据库中注册的用户并且密码正确才可以进入管理系统

在这里插入图片描述
在这里插入图片描述

登陆界面输入用户和密码正确后,跳转到操作页面,联动数据库可以进行增删改查

在这里插入图片描述
在这里插入图片描述

那么点击确认按钮(type=“confirm”),输入的信息就会提交到后端,正确的话就应该跳转到操作页面,比如Operation控制器下的Page1页面,如何跳转呢?可以用Response.Redirect,

在这里插入图片描述
在这里插入图片描述

当时这些跳转路径的写法真是头疼,毕竟没有比较详细的教程,都是网上搜然后自己慢慢试的。然后跳转到Page1页面,自己想把cshtml的标题设置为”欢迎”+用户名,这就涉及到传值了,可以用Session,控制器和视图之间用Session很方便,可以用这几种方法改变title

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
@*设置指定标题
        1:@Session["User"]
        2:通过js获取title的DOM对象,然后设置其innerText/innerHtml属性
        3:直接document.title=@Session["User"];
        *@
         @*1:*@
    @{ 
        Session["Title"] = "欢迎" + Session["User"];
    }
    <title>@Session["Title"]</title>
    
    <script type="text/javascript">
        var newTitle = "欢迎" + "@Session["User"]";//注意获取Session要加引号,
                                                   //[]里是双引号
        @* 2:*@
        var v = document.getElementsByTagName("title");
            
        alert(newTitle);
        //v[0].innerHTML = newTitle;
        v[0].innerText = newTitle;

        @* 3 *@
        document.title = newTitle;
        </script>

结果确实改变了title

在这里插入图片描述
在这里插入图片描述

3:控制器里函数名写法 登录成功后,点击“增”进入对数据库进行增操作页面,控制器Operation添加了Add视图

在这里插入图片描述
在这里插入图片描述

然后点击”增”就调用js跳转到Add视图

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
  //跳转到v
        function Page1_to(v) {
            window.location(v);
        }

写法一定不要写错,别忘了写/

在这里插入图片描述
在这里插入图片描述

登录成功后,标题是欢迎+用户名,点击增调用Add方法后,再返回看看

在这里插入图片描述
在这里插入图片描述

可见,确实调用了Add方法,搞懂了流程和写法,就不会老是出现类似下面这种报错了(比如写成Operatio/Add,少写了/)

在这里插入图片描述
在这里插入图片描述

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/162944.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档