我想在id
中指定html ActionLink
,但我不能这样做:
@html.ActionLink("Controller", "Action", new {@id = "tec"})
因为@id
表示tec
是id
参数的值。
另一方面,如果我这样做
@html.ActionLink("Controller", "Action", new {@class = "tec"})
结果将是:
<a href="Controller/Action" class="tec"></a>
你知道一种指定html id的方法吗?
我想要这个结果:
<a href="Controller/Action" id="tec"></a>
答案 0 :(得分:9)
您还必须指定控制器,并且可以在id
之前删除@
@Html.ActionLink("mylink", "Action", "Controller", new {id = "tec"})
这是因为您使用的签名不是相对于HtmlAttributes的签名,而是路由值。如果您不想指定控制器,请使用此
@Html.ActionLink("mylink", "Action", null, new {id = "tec"})
答案 1 :(得分:1)
你的案例中的方法签名应该是这个..
public static MvcHtmlString ActionLink(
this HtmlHelper htmlHelper,
string linkText,
string actionName,
Object routeValues,
Object htmlAttributes
)
以相同的格式提供参数。 htmlattributes应该用于创建新的html对象。