MVC在View中页面跳转
在做人事系统的时候须要用到页面跳转,那么页面跳转究竟用什么方法好呢?依照曾经的思路,我就会这么写。
<span style="font-size:18px;">window.location.href = '/TechnicalFile/DeleteTechnicalFile';</span>
可是MVC和WebForm是有点不同的,MVC有路由,假设改变了路由规则,将”/” 变为 ”-”的话,就得变成
<span style="font-size:18px;">window.location.href= '/TechnicalFile-DeleteTechnicalFile';</span>
这种就得改动代码,无疑是不好的。那怎么办呢?MVC带的UrlHelper非常好的帮助我们攻克了这个问题。能够将上面的代码改为:
<span style="font-size:18px;">window.location.href= '@Url.Action("QueryDetailTechnicalFile", "TechnicalFile")';</span>
这样,路由的变化就不会影响到我们的地址了。
一切都有UrlHelper来帮我们做了。
仅仅是做一个链接跳转比較简单。可是怎样在跳转的时候给它带上參数呢?在WebForm里面
直接往地址后面加上?然后key=value就能够了。那么在MVC中怎么办呢?由于它是有路由规则的,那么究竟该怎么办呢?上网查了一下,也没有查出个所以然来。然后就自己開始測试。@Url.Action里面是带赋值參数的重载的,可是key所相应的value都必须写死了,这一点就排除了,由于我的參数要是动态的。
最后没有办法,自己就用老办法试了试,还是往后面加了”?”没想到在Controller里面接收成功了,结果我的链接就成了这个样子
<span style="font-size:18px;">window.location.href= '@Url.Action("UpdateTechnicalFile", "TechnicalFile")? id=' + rows[0].ID;</span>
尽管长的有点难看和别扭吧,可是也算是实现了功能。总感觉还有更好的实现方法,仅仅是如今了解的有限。慢慢的往下走,相信会有更好的解决的方法的。
MVC在View中页面跳转的更多相关文章
- Servlet、JSP中页面跳转的方式
一.Servlet:当然,在servlet中,一般跳转都发生在doGet, doPost等方法里面.1) redirect 方式response.sendRedirect("success ...
- asp.net mvc 在View中获取Url参数的值
如果url是 /home/index?id=3 直接Request就ok. 但是如果路由设定为:{controller}/{action}/{id} url是 /home/index/3 这时想在 ...
- Java web开发中页面跳转小技巧——跳转后新页面在新窗口打开
最近学习Java web,在学习过程中想实现一个需求,就是在jsp页面跳转的时候,希望跳转后的新页面在新窗口中打开, 而不是覆盖原来的页面,这个需求使我困惑了好长时间,后来通过大海捞针似的在网上寻找方 ...
- java Web中页面跳转方式之请求转发
1.在一个请求中跨越多个Servlet 2.多个Servlet在一个请求中,他们共享request对象.就是在Servlet01中setAttribute()保存数据在Servlet02中由getAt ...
- Controller中页面跳转完后页面的样式全消失的解决办法
问题的原因应该是在controller中进行页面跳转时当前文件的路径变了 解决办法: 1.在jsp页面中<%@ page language="java" contentTyp ...
- MVC在VIEW中动态控制htmlAttributes和routevalues的方法
在项目中有一个Html.DropDownListFor放在一个分部视图中,然后调用这个分部视图时需要动态控制这个DropDownList的显示方式,比如宽度.是否禁用.是否列表等,这些值的设置都在Ht ...
- react项目中页面跳转、刷新及获取网络状态
// 页面跳转 window.location.href = 'http://speedtest.wangxiaotong.com/' // 页面刷新 window.location.reload() ...
- Asp.Net Core MVC在View中,根据用户权限动态生成菜单
1. 用户登录时,将用户的权限写入Cookie: //将需要的信息写入claims后 var identity = new ClaimsIdentity(claims, IdentityConstan ...
- ASP.net MVC中页面跳转
@Html.ActionLink("Home Name", "Index", "Home")Home name 是 跳转链接的名Index ...
随机推荐
- DNS域名系统
1. 什么是DNS? DNS是域名系统的缩写,DNS通过将域名与实际的Web服务器连接来帮助引导Internet上的流量.从本质上讲,它需要一个人性化的请求 – 像simcf.cc这样的域名 – 并将 ...
- Openjudge-4132-四则运算表达式求值
这一题我们可以通过递归求解,首先我们可以把一个表达式分为三部分,分别是: (1)表达式 :项.加减 (2)项:因子.乘除 (3)因子:数.()表达式 这三项构成了递归的关系,我们可以看到,要求一个表达 ...
- Css选择器和JQuery基本编程接口
使用JQuery之前,首先从官网下载库文件 http://jquery.com/ jquery-2.1.4.js和jquery-2.1.4.min.js,前者是完整无压缩版本,用于开发调试:后者是压缩 ...
- 深入Linux内核架构——锁与进程间通信
Linux作为多任务系统,当一个进程生成的数据传输到另一个进程时,或数据由多个进程共享时,或进程必须彼此等待时,或需要协调资源的使用时,应用程序必须彼此通信. 一.控制机制 1.竞态条件 几个进程在访 ...
- IDM下载器使用方法详解:百度网盘下载,视频会员一网打尽!
一. IDM的设置 [01]IDM插件与各大浏览器的集成 默认情况下,在成功安装IDM后,直接点击这里的选项,会弹出[常规设置],一般情况下直接保持默认的配置即可,如果你使用的是比较小众的浏览器,你可 ...
- 关于Kubernetes v1.14.0的 kube-controller-manager部署
1. kube-controller-manager准备 默认kube-controller-manager 部署在kube-apiserver部署的服务器上面服务器的配置等在这就不在列出来 二进制文 ...
- 如何使用Visual Studio 2008(VS2008)编译C语言
大家在学习C语言的时候接触的一般都是VC6.0.但是VC6.0只能编译C或者C++,不支持C#,集成度不是很高.而且界面并不十分友好,不能自动猜测关键字,函数的参数也不能自动标示.最关键的是,编译的时 ...
- 一个抓取智联招聘数据并存入表格的python爬虫
talk is cheap...show you the code..... import requests import lxml,time,os from bs4 import Beautiful ...
- nginx配置文件解答
nginx配置文件详解: server { listen 80; servername www.nginx1.com location / { root ...
- [Vijos1617] 超级教主(DP + 单调队列)
传送门 设 f[i] 表示吃完 f[i] 及其以下的能量球后所剩下的能量. 所以 f[i] = max(f[i], f[j] + (sum[i] - sum[j]) - i * 100) ( 0 &l ...