@ Html.ActionLink,带有链接的ID

时间:2012-01-11 15:28:52

标签: c# asp.net-mvc razor

我有类似MVC的东西(我使用razor使用MVC c#):

@Html.ActionLink("Edit", "EditProject", new { id = item.ProjectID}) 

产生的东西就像我查看源代码一样:

<a href="/iDVI/Project/EditProject/535">Edit</a>

注意535是具有item.ProjectID的结果。 这可以。我喜欢做的是为这个编辑链接添加一个id。类似的东西:

<a href="/iDVI/Project/EditProject/535" id="Projectid">Edit</a>

我该怎么做我知道使用新的{id = ...}会创建一个id,但id已经用于我最初需要做的事情。

我现在需要给链接一个id?

3 个答案:

答案 0 :(得分:3)

使用:

@Html.ActionLink("Edit", "EditProject", new { id = item.ProjectID }, new { id = "Projectid" }) 

答案 1 :(得分:2)

使用它时,您必须查看方法的签名。 当你写道:

@Html.ActionLink("Edit", "EditProject", new { id = item.ProjectID}) 

您使用了以下重载:

  

HtmlHelper.ActionLink(string linkText,string ActionName,object   routeValues)

因此,这就是您将item.ProjectID作为网址的一部分的原因。在这种情况下,它是一个routeValue。

您正在寻找的重载可能就是这个:

  

HtmlHelper.ActionLink(string linkText,string ActionName,object   routeValues,object htmlAttributes)

使用此重载指定您要将变量item.ProjectID用作url的一部分以及链接的属性:

@Html.ActionLink("Edit", "EditProject", new { id = item.ProjectID}, new { id = item.ProjectID })

如果你真的想拼出变量的名字,你会写:

@Html.ActionLink("Edit", "EditProject", new { id = item.ProjectID}, new { id = @"Projectid" })

这为您提供了所需的输出。

答案 2 :(得分:0)

尝试

@Html.ActionLink("Edit", "EditProject", null,  new { id = item.ProjectID})