ASP.NET MVC ActionLink错误地渲染

时间:2013-05-10 09:22:33

标签: asp.net-mvc-3 html-helper html.actionlink

SO社区

我有以下问题:

如果我像这样渲染一个ActionLink:

@Html.ActionLink(titleText, 
    Title.Href.TargetAction, 
    Title.Href.TargetController, 
    Title.Href.TargetRouteValues, 
    null)

渲染的元素是:

<a href="/eagle/Intervention/Edit_Inv?ID_INV=53165">        19/      2013</a>

但如果我像这样添加一个HTMLAttributes对象:

@Html.ActionLink(titleText, 
    Title.Href.TargetAction, 
    Title.Href.TargetController, 
    Title.Href.TargetRouteValues, 
    new {target="_blank"})

我得到以下标记:

<a href="/eagle/Intervention/Edit_Inv?Count=1&amp;Keys=System.Collections.Generic.Dictionary%602%2BKeyCollection%5BSystem.String%2CSystem.Object%5D&amp;Values=System.Collections.Generic.Dictionary%602%2BValueCollection%5BSystem.String%2CSystem.Object%5D" target="_blank">        19/      2013</a>

我有什么选择?

提前致谢, 西尔维乌。

1 个答案:

答案 0 :(得分:1)

嗯,这很快!我破解了它:

@Html.ActionLink(titleText, 
      Title.Href.TargetAction, 
      Title.Href.TargetController,
      Title.Href.TargetRouteValues, 
      new Dictionary<string, object> { { "target", "_blank" } })

这让我失望了。我没有为HTMLAttributes提供匿名对象,而是使用了IDictionary,它现在就像魅力一样。

感谢您的兴趣,尼克,您的解决方案无效;)