使用ActionLink时没有外语字符

时间:2015-03-16 16:34:24

标签: c# asp.net-mvc internationalization html-helper actionlink

当我使用

@Html.DisplayFor(modelItem => item.Collection.Name)

一切似乎都没问题,但是当我使用它时:

@Html.ActionLink(@Html.DisplayFor(modelItem => item.Collection.Name) + "", "Index", new { })

没有所有外国人物。第一个显示“żółć”,第二个显示“żółć”。这是为什么?如何解决?

1 个答案:

答案 0 :(得分:2)

根据MSDNHtml.DisplayFor旨在

  

为对象中的每个属性返回HTML标记   由表达式表达式表示。

但您的ActionLink只是期望常规string显示为链接文字。

您最好使用DisplayNameFor()代替:

@Html.ActionLink(Html.DisplayNameFor(modelItem => item.Collection.Name).ToString(), "Index", new { })

请参阅DisplayNameFor