gpt4 book ai didi

带有常量的 c# MVC 路由

转载 作者:太空宇宙 更新时间:2023-11-03 16:34:39 25 4
gpt4 key购买 nike

我正在尝试在具有以下路径的页面上生成操作链接:/{controller}/{type}/{sub}

链接需要转到:/{controller}/{type}/{sub}/new

如何在对象或 RouteValueDictionary 中指定 url 的“/new”部分,以便将其传递给 HTML.ActionLink?

StackOverflow 不会再让我回答我的问题 8 小时...所以:

谢谢贾斯汀。你的建议奏效了,但为了完整起见,我发现了使用 Html.ActionLink 方法的方法:

您只需指定解析该路由的方法的 ActionName。该框架似乎会自动计算出您希望它位于与当前页面相同的路径上。

因此,如果您的路线是:

routes.MapRoute(
"New", // Route name
"{controller}/{type}/{sub}"/new, // URL with parameters
new {controller = "DefaultController", action = "Create", id = UrlParameter.Optional});

链接是:

Html.ActionLink("Create New Page", "Create")

认可 Justin 的方法,因为它对我有用

最佳答案

据我所知,ActionLink 的默认实现不支持此功能,因此您有以下选择:

在这种情况下手动构建它(我不在 Visual Studio 前面,所以语法可能有点偏差)

<a href="@Url.Action(
"Controller", "Method", new { type = "type", sub = "sub" }));/new">
link text</a>

或者,您可以 create a new helper method封装这样的东西,如果它经常发生的话。

关于带有常量的 c# MVC 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9518233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com