zoukankan      html  css  js  c++  java
  • asp.net MVC URL Routing问题 关于routes.MapRoute()方法

    asp.net MVC URL Routing问题 关于routes.MapRoute()方法的参数问题

    2012-01-16 17:00 netspirits | 分类:其他编程语言 | 浏览2540次
    VS2010 MVC3模板建立的项目,默认这么写
    routes.MapRoute(
    "Default", // 路由名称
    "{controller}/{action}/{id}", // 带有参数的 URL
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值
    );
    一切没问题,启动项目就能找到默认页面。
    但是换个写法,如下
    routes.MapRoute(
    "Default", // 路由名称
    "{a}/{b}/{id}", // 带有参数的 URL
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值
    );

    就不能识别默认页那条路由。。。。这是什么原因。。
    想请问下,"{controller}/{action}/{id}"必须这么写吗?不能替换成{a}{b}{c}吗?
    还有 new { controller = "Home", action = "Index", id = UrlParameter.Optional }必须这么写吗? 能不能写成new { a= "Home", b= "Index", x = UrlParameter.Optional }

    这两者到底哪儿是固定,哪儿是必须对应的啊。有什么对应关系啊。。。郁闷死了。。
    2012-01-16 17:18 提问者采纳
    必须要{controller}/{action}的,其他的参数不要求。你说的参数可以这么写:
    {controller}/{action}/{a}-{b}-{c}..... ,明白?另外最后一部分是倒着解析的,如:
    规则{controller}/{action}/{a}-{b}-{c},一个url是 user/center/1-2-3-4,解析结果为controller=user,action=center,c=4,b=3,a=1-2;明白吧?
  • 相关阅读:
    BZOJ 1057 悬线法求最大01矩阵
    POJ 2248
    SPOJ
    51NOD
    2017-2018 ACM-ICPC, NEERC, Moscow Subregional Contest J. Judging the Trick
    POJ 1379 模拟退火
    POJ 2420 模拟退火
    Frontend 事后诸葛亮
    【Frontend】Alpha Review 展示博客
    ASE19 团队项目 alpha 阶段 Frontend 组 scrum5 记录
  • 原文地址:https://www.cnblogs.com/wahaccp/p/3252265.html
Copyright © 2011-2022 走看看