asp.net mvc 通过修改路由规则来实现页面的URL多参数传递
【原文】http://blog.csdn.net/risingsun001/article/details/9068187
修改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
最新文章
- tfs连不上团队资源管理器问题
- Git-将已有的项目提交到Git
- Python学习笔记之抽象
- [译]在AngularJS中何时应该使用Directives,Controllers或者Service
- struts2框架 初始别
- 关于strcpy_s
- 利用FFmpeg生成视频缩略图 2.1.6
- javascript设计模式学习之九——命令模式
- Kafka笔记--监控系统KafkaOffsetMonitor
- Ubuntu的快捷键
- android 没有main函数,怎么找到程序执行入口呢?以及activity主要生命周期的方法说明
- java集合(4)- java中HashSet详解
- mysql导入导出命令(Linux+Windows)
- Hadoop RPC
- spring boot + quartz 集群
- OCR智能识别身份信息
- 基于Servlet+jsp的web计算器
- [Swift]LeetCode561. 数组拆分 I | Array Partition I
- js apply使用
- cf1108E2 线段树类似扫描线
热门文章
- RabbitMQ安装简单过程
- 【转】java代码中实现android背景选择的selector-StateListDrawable的应用
- 数据结构(莫队算法):HH的项链
- Linux学习笔记15——GDB 命令详细解释【转】
- JavaScript 设计风格&;模式 概览 20140418
- octopress的一些总结
- zoj 3659 Conquer a New Region(并查集)
- poj 1080 dp如同LCS问题
- Android四大组件之ContentProvider(二)读取设备上的图片、音频和视频
- CentOS7.0分布式安装HADOOP 2.6.0笔记-转载的