.net mvc4如何设置自定义路由
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net mvc4如何设置自定义路由相关的知识,希望对你有一定的参考价值。
比如我在 控制器 UserController写了个action “List”,包含两个参数
string name,type
代码 :
public ActionResult List(string name, string type)
return View();
要在RouteConfig.cs 中如何定义路由才能正确的把参数传进action
比如 这个URL“localhost/User/List/name-type.html
我是添加了一个自定义路由,但是获取不到参数
route.MapRoute(
"myRoute",
url: "controller/action/name-type.html"
);
这样设置则可以获得参数
url: "controller/action/name/type"求高手
不能添加特殊字符进去吗,那起点中文的url是怎么匹配的?
比如
BookReader/vip,3487185,87551174.aspx
可以的
比如
route.MapRoute(
"myRoute",
"controller\action\id",
new controller ="Home",action="Index“,id="defaultid"
);
这个id不就是参数吗,看来你跟我一样不太懂
吐血,它那个ID是 说/Home/index/3 这样的路由然后就可以跳进 /Home/Index?id=3 的意思。然后如果你路由只有前面那段,就跳进这里来
追问虽然没有帮我解决问题,但还是谢谢哦
参考技术A 因为localhost/User/List/name-type.html可以匹配默认路由
"controller\action\id"
name-type.html=id
你的路由配置没有错,但是应该把自定义路由放到默认路由的前面本回答被提问者采纳
Asp.net MVC 自定义路由
在做公司接口的时候 由于规范API 要用点分割。 如: HealthWay.controller.action
在MVC 4 下面做了个 路由配置如下:
public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "HealthWay_default", "HealthWay.{controller}.{action}", new { action = "Index" } ); }
部署后一直提示 :
HTTP 错误 404.0 - Not Found
您要找的资源已被删除、已更名或暂时不可用。
原因是 iis 上的集成.net 4.0 不支持这样格式。
在配置文件中加上如下代码,就解决了
<system.webServer> <modules runAllManagedModulesForAllRequests="true"/> </system.webServer>
以上是关于.net mvc4如何设置自定义路由的主要内容,如果未能解决你的问题,请参考以下文章
apache_conf 如何在.NET MVC4中创建自定义BundleTransform,特别是为了不重命名变量。因为我找不到这个