ASP.Net MVC视图间的跳转

ASP.Net MVC视图间的跳转发现一个贼坑的地方,比如添加Home控制器,然后在views的home文件夹里添加Index视图和Second视图,在Index视图里想要通过超链接跳转到Second视图,需要这样写:<ahref=”/Home/second”>点击跳转1</a>@*这么写ok*@成功注意!!!!这样写就不行<ahref=”~/Views/Home/second.csh…

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

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

<a href="/Home/second">点击跳转1</a>@*这么写ok*@

成功
在这里插入图片描述
注意!!!!这样写就不行

<a href="~/Views/Home/second.cshtml">点击跳转2</a>@*这么写不ok*@

因为输入引号,系统会自动提示,我就按照系统提示补全了,
在这里插入图片描述
踩坑没办法,谁叫自己不熟练呢。。。。蛋疼
2:不同控制器间视图的跳转
在学习任务中做仓库管理系统的时候,先显示登陆注册界面,只有数据库中注册的用户并且密码正确才可以进入管理系统
在这里插入图片描述
登陆界面输入用户和密码正确后,跳转到操作页面,联动数据库可以进行增删改查
在这里插入图片描述
那么点击确认按钮(type=“confirm”),输入的信息就会提交到后端,正确的话就应该跳转到操作页面,比如Operation控制器下的Page1页面,如何跳转呢?可以用Response.Redirect,
在这里插入图片描述
当时这些跳转路径的写法真是头疼,毕竟没有比较详细的教程,都是网上搜然后自己慢慢试的。然后跳转到Page1页面,自己想把cshtml的标题设置为”欢迎”+用户名,这就涉及到传值了,可以用Session,控制器和视图之间用Session很方便,可以用这几种方法改变title
在这里插入图片描述

@*设置指定标题
        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视图
在这里插入图片描述

  //跳转到v
        function Page1_to(v) {
            window.location(v);
        }

写法一定不要写错,别忘了写/
在这里插入图片描述登录成功后,标题是欢迎+用户名,点击增调用Add方法后,再返回看看
在这里插入图片描述
可见,确实调用了Add方法,搞懂了流程和写法,就不会老是出现类似下面这种报错了(比如写成Operatio/Add,少写了/)
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Java8的Stream流详解「建议收藏」

    Java8的Stream流详解「建议收藏」首先,Stream流有一些特性:Stream流不是一种数据结构,不保存数据,它只是在原数据集上定义了一组操作。这些操作是惰性的,即每当访问到流中的一个元素,才会在此元素上执行这一系列操作。Stream不保存数据,故每个Stream流只能使用一次。关于应用在Stream流上的操作,可以分成两种:Intermediate(中间操作)和Terminal(终止操作)。中间操作的返回结果都是…

  • redhat7.4配置本地yum源_centos7yum源的配置

    redhat7.4配置本地yum源_centos7yum源的配置1.定位到yum的配置文件[root@linuxprobe~]#cd/etc/yum.repos.d/2.查看是否有配置文件[root@linuxprobeyum.repos.d]#ls3.检查yum是否安装,以及安装了哪些依赖源并删除yum包[root@linuxprobeyum.repos.d]#rpm-qa|grepyum显示如下(根据各自情况,有可能不…

  • 网线RJ45接口针脚[通俗易懂]

    网线接头分两类:DTE:连接到网络中的终端设备,如连PC机网卡的网线DCE:网络设备间连接。如路由器接交换机,或交换机接交换机RJ45接头(水晶头)的接口定义有8个镀金接片的面向上,最左边是第1脚,最右边是第8脚:RJ45网线插头线序接网线有两种线序:T568A和T568B。交叉网线和直连网线直连网线的两端均按T568B连接,用于连接主机和设备,即DTE与DCE,如:电脑←—→ADSL猫、电脑←—→ADSL路由器的LAN口、电脑←—→集线器或交换机等。交叉网线的一端按T568B接,

  • 安卓 setContentView使用「建议收藏」

    安卓 setContentView使用「建议收藏」setContentView(R.layout.main)在android代码里经常能看见,R.layout.main是个布局文件即控件,设置如何摆放如何显示的,setContentView就是设置一个Activity的显示界面,这句话就是设置这个这句话所再的Activity采用R.layout下的main布局文件进行布局使用setContentView可以在Activity中动

  • r语言求平均值_r语言计算中位数

    r语言求平均值_r语言计算中位数R中的统计分析通过使用许多内置函数来执行的,这些函数大部分是R基础包的一部分,并且它们将R向量与参数一起作为输入,并在执行计算后给出结果。先来看如何求平均值。平均值是通过取数值的总和并除以数据序列中的值的数量来计算,函数mean()用于在R中计算平均值,语法如下:mean(x,trim=0,na.rm=FALSE,…)参数描述如下:x-是输入向量。 t…

  • 图像库—Image Datasets—OpenSift源代码—openSurf源代码

    图像库—Image Datasets—OpenSift源代码—openSurf源代码

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号