0

我在我的网站上发现了一个缺陷……我不确定这是一个错误……还是设计使然。

我注册了以下路线。

routes.MapRoute("EditProduct", // Route name
                "product/addproduct/{id}", // URL with parameters
                new { controller = "Product", action = "AddProduct", id = UrlParameter.Optional } 
                );

在 _Layout.cshtml 我定义了以下链接:

  <li><a href="@Url.Action( "AddProduct", "Product")">Add new product</a></li>

如果当前 url 包含 'Id' 参数,例如:/product/details/5,则从布局中生成菜单链接 /product/addproduct/5。它从 RequestContext 中获取 id 参数。

这是一个错误......因为在帮助程序中我没有为我的链接指定参数?...或者这是设计使然?

4

1 回答 1

0

我认为您甚至不需要在这里指定路线。

默认情况下 MVC3 使用 URL /Controller/Action/{id}

尝试删除您指定的路线,看看它是否可以正常工作。

于 2013-04-02T10:08:45.720 回答