2013-05-31 30 views
1

我們的ASP.NET MVC應用程序使用KendoUI窗口控件向用戶顯示進度消息。在使用帶拉丁字符的語言時可以正常工作,但是當將Web應用程序的語言設置爲俄語時,該消息應該顯示如KendoUI窗口不顯示Ciryllic字符

Составляемрапорт,пожалуйстаподождите!

我們得到了圖像中顯示的內容。

Window title in Russian displaying incorrectly

這是一個錯誤,還是我們缺少任何配置?我想這可能是與Unicode有關的東西。

在此先感謝。

+0

該字符串是HTML編碼。它必須先被解碼,就像HttpUtility.HtmlDecode()那樣。不太清楚需要完成的地方。 –

+0

Hi @HansPassant我們所做的是在視圖中分配一個字符串資源,它適用於任何其他語言(即英語,西班牙語......)。我們應該在那裏應用HTMLDecode嗎? $( 「#對話」)kendoWindow({ 寬度: 「@(strLengthHeaderWindowLoader)PX」, 高度: 「150像素」, 標題: 「@ Resources.StringResources.GenerateReport」, \t \t \t行動: 「關閉」], \t \t \t模態:真, \t \t \t密切:dialogClose, \t \t}); – Jaime

回答

2

遲了,但這裏有一種方法:使用System.Web.Mvc.HtmlHelper的Raw方法。下面是代碼,使用它作爲一個擴展:

using System.Web; 
using System.Web.Mvc; 
namespace Web.Utils 
{ 
    public static class HtmlHelperExtensions 
    { 
     public static IHtmlString Resource(this HtmlHelper helper, string value) 
     { 
      return helper.Raw(value.Replace("\"", "\\\"")); 
     } 
    } 
} 

還援引前面有一個斜線,以在Telerik的控件模板可以安全使用。

然後擴展可以在代碼中使用這樣的:

@(Html.Kendo().Window().Title(Html.Resource(your_string))