gpt4 book ai didi

asp.net-mvc - 与 jquery 选项卡一起使用时,Html.Actionlink 显示错误的 Controller 名称

转载 作者:行者123 更新时间:2023-12-02 17:43:34 25 4
gpt4 key购买 nike

我使用 Jquery 选项卡插件在我的 View 中显示选项卡。

我要<li><a href="../JobDetails/Index/1234">JobDetails</a></li>作为我的第一个选项卡。

为此我正在做

   <li>@Html.ActionLink("JobDetails",
"Index", // <-- ActionMethod
"JobDetails", // <-- Controller Name.
new { id = 1234 }
)</li>

但我查看源代码并向我显示此链接

<li><a href="/Coordination?Length=10" id="1234">JobDetails</a></li>

其中协调是我的 Controller 名称,我在协调 Controller 上有这些选项卡,操作名称(ViewName)是索引。

我不确定为什么我将 Controller 名称命名为 Coordination,即使我将其命名为 JobDetails。

最佳答案

那是因为您使用了错误的重载方法。试试这个:

    <li>
@Html.ActionLink
(
"JobDetails",
"Index", // <-- ActionMethod
"JobDetails", // <-- Controller Name.
new { id = 1234 },
null // pass a null value for the htmlAttributes object
)
</li>

你原来的重载方法是this :

public static MvcHtmlString ActionLink(
this HtmlHelper htmlHelper,
string linkText,
string actionName,
Object routeValues,
Object htmlAttributes
)

正如您从上面的参数名称中看到的,您正在传递“JobDetails”作为链接文本,依此类推。这就是您获得渲染标记的原因。

但是通过使用 this重载,您只需为 htmlAttributes 对象传递 null 即可获得所需的标记:

public static MvcHtmlString ActionLink(
this HtmlHelper htmlHelper,
string linkText,
string actionName,
string controllerName,
Object routeValues,
Object htmlAttributes
)

关于asp.net-mvc - 与 jquery 选项卡一起使用时,Html.Actionlink 显示错误的 Controller 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9131804/

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