C# 如何在ASP.NET MVC中允许/Controller/Id?

C# 如何在ASP.NET MVC中允许/Controller/Id?,c#,asp.net,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,我想访问这个网址 /thread/123 其中123是线程id 我不知道如何设置我的路线或其他什么 我本想将线程添加到我的HomeController,但它似乎只有在我转到/home/thread时才起作用 如何设置此项目以使url/thread/123正常工作 我尝试将/thread作为控制器,但它似乎认为123是一种操作方法,而另一次尝试是让线程位于主位置而不是根位置。是否要添加为此URI指定的路由 routes.MapRoute( "Thread", // Route n

我想访问这个网址

/thread/123
其中
123
是线程
id

我不知道如何设置我的路线或其他什么

我本想将
线程添加到我的HomeController,但它似乎只有在我转到
/home/thread
时才起作用

如何设置此项目以使url
/thread/123
正常工作


我尝试将
/thread
作为控制器,但它似乎认为
123
是一种操作方法,而另一次尝试是让线程位于主位置而不是根位置。

是否要添加为此URI指定的路由

routes.MapRoute(
        "Thread", // Route name
        "thread/{id}", // URL with parameters*
        new { controller = "Thread", action = "Display", id = UrlParameter.Optional }
                );

非常重要:将新路线添加到“默认”路线之上

啊,我没有意识到秩序的重要性。(我使用了其他软件,认为它最具体/最不具体)是的,b/c asp.net mvc框架选择了第一条可能匹配的路径。我想要id=可选吗?因为id是必需的,并且/线程没有意义。动作显示有什么意义吗?这是一个很好的问题:我通常允许可选的,这样,如果没有给出参数,我就使用最新的线程,或者给用户一个线程列表来选择。这将创建更健壮的功能。但这是一个形式/功能/选择问题,我已经解决了。仍然是一种新的,但这是显而易见的思考后+我会在我能接受的时候接受