在我的Global.asax文件中,我有以下内容;MVC:这个路由有什么问题?
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" });
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Account", action = "LogOn", id = UrlParameter.Optional }); // Parameter defaults
routes.MapRoute(
"Contracts",
"Contract/{contractId}",
new { controller = "Contract", action = "Details" }
);
我想指定一个路径Contract/10,其中10是contractId,它是我的ContractController中Detail方法的参数。 所以这个工作; http://localhost:1234/Contract/Details?contractId=10 但不是 http://localhost:1234/Contract/10
我在做什么错?
工作,谢谢。这确实意味着“详细信息”必须位于路径名中。我对自己的工作很满意,但对于我自己的教育,我想我想知道如何从路径和工作中排除“细节”。 – arame3333 2010-08-17 15:48:37
对于教育,然后;)如果你想从路径中排除细节,你可以使它成为Contract/{contractId}(你以前的方式),但保持默认action =“details”(以前的方式)。这是令你失望的命令 – BritishDeveloper 2010-08-17 16:04:11