ASP.NET为razor ActionLink添加id

时间:2015-12-01 20:06:38

标签: asp.net-mvc

我需要razor来生成href链接。这段代码工作正常:

@Html.ActionLink("Questions", "Questions", "SectionPartials")

如何将id元素设置为href标签?我已经尝试过了:

@Html.ActionLink("Questions", "Questions", "SectionPartials", new { id= "new-link" })

这会为a href添加一个id,但导航将不再起作用。这也会在代码中出错(但会编译)

服务器错误: enter image description here

代码错误 enter image description here

没有找到关于这个问题的更多信息..如果缺少某些信息(如控制器/视图(?)),我很乐意添加这些信息!

由于

2 个答案:

答案 0 :(得分:4)

所需的LinkExtensions.ActionLink方法签名是:

  

public static MvcHtmlString ActionLink(这个HtmlHelper htmlHelper,     string linkText,string actionName,object routeValues,object   htmlAttributes)

因此,您当前的new { id= "new-link" }作为routeValues参数传递。您需要将其作为htmlAttributes传递:

@Html.ActionLink("Questions", "Questions", "SectionPartials", null, new { id= "new-link" });

或(使用命名参数):

@Html.ActionLink("Questions", "Questions", "SectionPartials", htmlAttributes: new { id= "new-link" });

请参阅MSDN

答案 1 :(得分:3)

尝试此操作是因为如果您没有其他参数,则需要忽略routeValues

@Html.ActionLink("Questions", "Questions", "SectionPartials", null, new { id= "new-link" })

或:

@Html.ActionLink("Questions", "Questions", "SectionPartials",  htmlAttributes : new { id= "new-link" })