首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >routes.MapRoute混淆

routes.MapRoute混淆
EN

Stack Overflow用户
提问于 2016-08-30 12:12:25
回答 2查看 353关注 0票数 0

我知道这是一般的方法:

代码语言:javascript
复制
routes.MapRoute
    (
         name: "Default",
         url: "{controller}/{action}/{id}",
         defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
     ); 

但如果我这样做:

代码语言:javascript
复制
 routes.MapRoute
    (
          name: "Defaults",
          url: "Home/Index/1"
    );

运行该项目不会出现任何错误。我的Controller = Home Action = Index()在我的HomeController中,但是当我在浏览器中输入这个http://localhost:1702/Home/Index/1时,它为什么会出错呢?

错误:匹配的路由不包含“控制器”路由值,这是必需的。

在路由选择中哪一部分是强制性的?另一个问题是:为什么我们需要Route Name??如果我给name="",它工作得很好,甚至有多条路径像name=""一样存在

EN

回答 2

Stack Overflow用户

发布于 2016-08-30 12:17:47

你需要这个:

代码语言:javascript
复制
routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
票数 0
EN

Stack Overflow用户

发布于 2016-08-30 12:32:08

url是为最终用户定义url结构。你甚至可以把它改为

代码语言:javascript
复制
url: "{action}/{controller}/{id}"

因此,要理解哪个是控制器,哪个是动作,您必须提供url结构。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39227189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档