ASP.NET MVC3 通过Url传多个参数方法
MVC3通过URL传值,一般情况下都会遇到【从客户端(&)中检测到有潜在危险的 Request.Path 值】的问题
这个问题的解决方法,我的其他博文已经有了说明,这里给出连接;【从客户端(&)中检测到有潜在危险的 Request.Path 值】解决方法
方法一:
Url传参是通过Get的方式,一般我们都是通过一定规则的Url来传参。比如下面的URL。
http://localhost/contorller/action/?Params1=a&Params2=b
注意:URL里面的“?”不能去掉哦,我曾经将URL路由和url参数混淆,就是上面的URL里面没有“?”,搞了2天时间才弄清楚问题出在哪里。大家可不要犯同样的错误哦。
我们可以在controller中通过绑定方法的方式来进行获取,代码如下:
- public ActionResult Index(ExpModel model, string Params1 , string Params2)
- {
- ViewBag.P1 = Params1 ;
- ViewBag.P2= Params2;
- return View();
- }
方法二:
修改MVC3中的路由规则
在Global.asax.cs中,修改路由规则
- routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
- routes.MapRoute(
- "Default", // 路由名称
- "{controller}/{action}/{id}", // 带有参数的 URL
- new { controller = "Home", action = "Index", id = UrlParameter.Optional} // 参数默认值
- );
MapRoute方法在RouteCollectionExtensions里有6个重载版本!在这里我挑了一个参数最多的重载版本来进行介绍
public static Route MapRoute(
this RouteCollection routes,
string name,
string url,
Object defaults,
Object constraints,
string[] namespaces
)
name:路由在路由列表里的唯一名字(两次MapRoute时name不能重复)
url:路由匹配的url格式
defaults:路由url {占位符} 的默认值
constraints:url的 {占位符} 的约束
namespaces:这个是用于设置路由搜索的控制器命名空间!
比如,我们可以修改为下面的规则
- routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
- routes.MapRoute(
- "Default", // 路由名称
- "{controller}/{action}/{uid}_{token}_{others}.html", // 带有参数的 URL
- new { controller = "Home", action = "Index", uid = UrlParameter.Optional, token = UrlParameter.Optional,others = UrlParameter.Optional} // 参数默认值
- );
如果访问的URL地址如:http://localhost/home/index/123_tokenvalue_othersvalue.html时
controller="Home", action="Index", uid=123, token=tokenvalue, others=othersvalue
获取和上面的方法一样。
关于Route 的详细用法和说明,大家看MSDN 上的资料吧,这里给个连接:
ASP.NET Routing:http://msdn.microsoft.com/en-us/library/cc668201.aspx?cs-save-lang=1&cs-lang=csharp
ASP.NET MVC3 通过Url传多个参数方法相关推荐
- url传参 获取参数方法
url传参 获取参数方法 //调用const infos = this.getQuery(); //该方法返回一个对象 key 为所传参数名 value 参数值getQuery(key) {var s ...
- Asp.net MVC3.0 入门指南 6 审视编辑方法和视图
审视编辑方法和视图 在这一节中,您将审视movie控制器生成的响应方法和视图.然后您将添加 一个自定义搜索页面. 运行程序并通过在URL追加/Moives浏览movie控制器.把鼠标悬停在Edit 链 ...
- 通过URL传参(参数也是URL)
encodeURIComponent() 函数可把字符串作为 URI 组件进行编码. if ($("#pageType").val() == "treePage" ...
- ASP.Net MVC3 图片上传详解(form.js,bootstrap)
图片上传的插件很多,但很多时候还是不能切合我们的需求,我这里给大家分享个我用一个form,file实现上传四张图片的小demo.完全是用jquery前后交互,没有用插件. 最终效果图如下: 玩过花田人 ...
- 工作377-处理url拼接里面的参数方法
function GetRequest() {var url = location.search; //获取url中"?"符后的字串var theRequest = new Obj ...
- ASP.NET MVC3 上传头像图片并截图
关于上传头像并且截图网上应该有很多资料,大多都是JQuery插件,用起来不是很方便 本文所介绍的方法将快速完成一个"上传头像图片并截图",只需要修改少量的代码 我们先来看看完成后的 ...
- Asp.Net MVC2.0 Url 路由入门---实例篇
本篇主要讲述Routing组件的作用,以及举几个实例来学习Asp.Net MVC2.0 Url路由技术. 接着上一篇开始讲,我们在Global.asax中注册一条路由后,我们的请求是怎么转到相应的Vi ...
- 一起谈.NET技术,在ASP.NET MVC3 中利用JSONP跨域登录WEB系统
在信息系统开发的时,根据相关业务逻辑难免会多系统之间互相登录.一般情况下我们需要在多系统之间使用多个用户名和密码.这样客户就需要在多个系统之间重复登陆.每次登录都需要输入用户名和密码.最近比较流行的就 ...
- 在 ASP.NET 中执行 URL 重写
在 ASP.NET 中执行 URL 重写 发布日期: 8/23/2004 | 更新日期: 8/23/2004 Scott Mitchell 4GuysFromRolla.com 适用范围: Micro ...
最新文章
- 微信小程序学习笔记(三)
- webpack 打包编译优化之路
- 每小时的定时任务变成了每分钟
- mac系统及xcode使用的SVN客户端安装升级
- 火狐表格错乱兼容性问题
- 待办事项桌面插件_让浏览器重获整洁——标签页管理插件:OneTabOneTab PlusToby...
- html 复选按钮(input checkbox)
- deeplearning4j的学习
- PRML笔记:模式识别与机器学习
- Log4j和Slf4j的比较
- ASP.NET WEB API路由机制
- Matlab 2018a的安装步骤
- java如何把汉字转换成机内码_如何用java随机生成一个汉字?
- linux ata4 serror,linux – 如何将kern.log错误消息中的ataX.0标识符映射到实际的/ dev / sdY设备?...
- C语言实现倒计时关机程序(goto语句、strcpm函数、system函数)
- JCA Overview
- 开发板qt移植和交叉开发环境搭建学习笔记
- RuntimeError: CUDA error: no kernel image is available for execution on the device
- 关于使用C#WInform编程时两个窗口互操作的方法
- Android 消息队列