Der*_*ang 4 asp.net-mvc asp.net-mvc-routing routelink
这是复制问题的程序。
将以下行添加到 RegisterRoutes() 方法中的“默认”路由之前
routes.MapRoute(
name: "Test",
url: "Test/{action}",
defaults: new { controller = "Test", action = "Index" }
);
Run Code Online (Sandbox Code Playgroud)将以下内容添加到 Index.cshtml 和 About.cshtml
@Html.RouteLink("link to TestController", "Test")
Run Code Online (Sandbox Code Playgroud)如您所见,生成的 html 代码对于 2 个页面是不同的。我希望 URL 是“/Test”,它为 Index.cshtml 正确呈现,但它成为 About.cshtml 的“/Test/About”。
我的问题是是否有任何记录的方法来生成相同的正确 URL。上面的例子只是为了演示目的而创建的。我想使用路由表信息来生成菜单。
似乎引擎正在action从当前页面(“索引”、“关于”)设置路由值。因此,解决此问题的一种方法是“取消设置”该路由值:
@Html.RouteLink("link to Test Controller", "Test", new { action = String.Empty })
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14206 次 |
| 最近记录: |