actionLink razor helper中的html“id”

时间:2011-09-20 17:40:16

标签: asp.net-mvc-3 razor

我想在id中指定html ActionLink,但我不能这样做:

@html.ActionLink("Controller", "Action", new {@id = "tec"})

因为@id表示tecid参数的值。

另一方面,如果我这样做

@html.ActionLink("Controller", "Action", new {@class = "tec"})

结果将是:

<a href="Controller/Action" class="tec"></a>

你知道一种指定html id的方法吗?

我想要这个结果:

<a href="Controller/Action" id="tec"></a>

2 个答案:

答案 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对象。