我使用Jquery tabs插件在我的视图中添加标签。
我想让<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>其中,协调是我的控制器名称,我在协调控制器上有这些选项卡,动作名称(ViewName)是索引。
我不确定为什么我将控制器的名称命名为协调,即使我将其命名为JobDetails。
发布于 2012-02-04 00:19:29
这是因为您使用了错误的重载方法。试着这样做:
<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
)https://stackoverflow.com/questions/9131804
复制相似问题