gpt4 book ai didi

c# - Html.ActionLink() 在 actionName 类似于 "/controllerName/action/"时添加不需要的文件夹

转载 作者:行者123 更新时间:2023-11-30 20:59:58 25 4
gpt4 key购买 nike

我创建了一个名为 ApplicationController 的 Controller ,它向我的所有 View 发送公共(public)信息,我系统中的每个 Controller 都继承自它。

在部分 View 中我使用 Html.ActionLink():

@Html.ActionLink("Link Title", "/MyController/MyAction")
// OUTPUT: <a href="/MyIISVirtualDirectory/Application/MyController/MyAction">Link Title</a>

如果我点击链接,我会收到 404。

但是如果我使用:

@Html.ActionLink("Link Title", "MyAction", "MyController")
// OUTPUT: <a href="/MyIISVirtualDirectory/MyController/MyAction">Link Title</a>

一切正常。

为什么在第一个示例中方法输出/Application/?默认情况下如何删除它?

最佳答案

如果您使用的是 Razor 2.0 (ASP.NET MVC 4),您可以只使用一个普通的旧链接:

<a href="~/MyController/MyAction">Link Title</a>

如果您的应用程序托管在 / 上,则 href 将转换为 /MyController/MyAction 或转换为 /MyIISVirtualDirectory/MyController/MyAction 如果您的应用托管在 /MyIISVirtualDirectory 上。

在 Razor 1.0 (ASP.NET MVC 3) 中,语法有点冗长:

<a href="@Href("~/MyController/MyAction")">Link Title</a>

更多信息 here .

关于c# - Html.ActionLink() 在 actionName 类似于 "/controllerName/action/"时添加不需要的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15210302/

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