MVC 中的路由并不总是正确工作

Routing in MVC doesn't always work correct

我的问题和标题一样简单

我想 link 执行来自控制器的操作,但并不总是有效。我知道问题是什么,但不知道如何解决。

假设您在主页,URL 是这样的:localhost:1234/。当我在 link(<a>-标签)中使用以下 URL 去执行操作 configure 时,那个 link-tag 中的 href然后将如下所示:configure。但这不起作用,因为它会将用户发送到 localhost:1234/configure。而不是这个,它应该是 localhost:1234/device/configure,其中 device 是控制器。

我可以将 link-tag 中的 href 更改为 device/configure,但是当用户被重定向到主页时它就不再起作用了。因为主页的url然后是localhost:1234/device/view(默认路由,在RouteConfig.cs中配置)并且link将用户发送到localhost:1234/device/device/configure

我已经尝试过使用 @Url.Action@Html.ActionLink,但这也不起作用。

有谁知道如何确保它始终将用户引导至右侧 URL?

Here是我的RouteConfig,如果你需要的话。

试试这个:

@Html.ActionLink("link text", "configure", "device")