在.Net资源中使用HTML实体

时间:2018-10-31 07:35:37

标签: html .net xml razor

是否有一种方法可以防止.Net / Razor逃脱.Net资源中的HTML实体?我们有一个Web应用程序,需要以多种语言提供。这就产生了一个问题,即文本根据所使用的语言而占用不同的空间。例如,当TH元素包含英语的“装运参考”时,浏览器会将其分为两行,这很好。在丹麦语中,它表示“ Forsendelsesreference”,但不会拆分。我们想通过插入HTML软连字符实体来解决此问题。但是,当我们这样做时,它会转义,并且页面显示“ Forsendelses­ reference”。我们可以看到两种避免这种情况的方法。一种是将每个标签和TH元素的内容包装在@ Html.Raw中。另一个方法是识别使用带有软连字符的资源的标签和标头,然后将内容包装在@ Html.Raw中。两者都不是很吸引人。有没有一种方法可以只禁止从资源中转义文本?禁用转义来自@ class.property的所有文本是可以接受的,因为我们仅将其用于资源。我们从模型或从Ajax获得的任何用户信息。

1 个答案:

答案 0 :(得分:0)

如上文Sami Kuhmonen所建议,您可以使用实际的软连字符代替HTML实体。

您可以只使用Unicode软连字符。但是,这些字符是不可见的,从而使您的资源文件难以阅读。您还可以在资源文件中使用数字XML字符实体,并将其链接:Forsendelses­ reference