I use ressource files to translate the website labels. All is fine in every part of the website but in the popup to edit an item in my kendo Grid, my characters aren't decoded. My grid uses an editable popup which itself use a template. My grid is define itself in a template because i use nested Grids (this one is on the 4th level). Every level is created using ClientDetailTemplateId()
My View :
The problematic label:
Which get its name from:
which render as State in English, but as &201;tat in French. Note that the same label is decoded correctly outside of the popup (in my grid headers).
What am I doing wrong? Thanks in advance.
UPDATE : The popup decode the characters correctly for the top level grid, which means that the problem seems to come from the templates.
My View :
01. <script id="LicenceGridTemplate" type="text/kendo-tmpl">02. @(Html.Kendo().Grid<Administration.Models.LicenceModel>()03. .Name("LicenceGrid_#=UserID#")04. .DataSource(dataSource => dataSource05. .Ajax()06. .Read(read => read.Action("GetLicences", "Licence", new { userID = "#=UserID#" }).Type(HttpVerbs.Get))07. .Model(m =>08. {09. if (currentUser.Type == (int)PAService.PartnerEDM.UserRole.Admin)10. {11. m.Field(f => f.ApprovalState).DefaultValue(PAService.PartnerEDM.ApprovalState.Approved);12. }13. m.Id(l => l.LicenceID);14. })15. .Create(update =>16. {17. if (currentUser.Type == (int)PAService.PartnerEDM.UserRole.Admin)18. {19. update.Action("AddLicence", "Licence").Data("GetLicenceAdditionalData");20. }21. else22. {23. update.Action("RequestLicence", "Licence").Data("GetLicenceAdditionalData");24. }25. })26. .Update(update =>27. {28. if (currentUser.Type == (int)PAService.PartnerEDM.UserRole.Admin)29. {30. update.Action("EditLicence", "Licence").Type(HttpVerbs.Post);31. }32. })33. .Events(e => e.Error("grid_error"))34. )35. .Columns(columns =>36. {37. columns.Bound(m => m.ApprovalState);38. columns.Bound(m => m.CentralPoint);39. columns.Bound(m => m.NextExpirationDate).Format("{0:d}").HtmlAttributes(new { cellType = "NextExpirationDate" }).Width(160);40. columns.Bound(m => m.SerialNumber);41. columns.Bound(m => m.WebLicenseCount).HtmlAttributes(new { cellType = "WebCount" });42. columns.Bound(m => m.MobileLicenseCount).HtmlAttributes(new { cellType = "MobileCount" });43. columns.Bound(m => m.ExcelAddInLicenseCount).HtmlAttributes(new { cellType = "ExcelCount" });44. if (currentUser.Type == (int)PAService.PartnerEDM.UserRole.Admin)45. {46. columns.Command(command => command.Edit().Text(" ")).Width(100);47. }48. })49. .ToolBar(toolbar =>50. {51. if (currentUser.Type == (int)PAService.PartnerEDM.UserRole.Admin)52. {53. toolbar.Create().Text(@ressourceManager.GetString("Add"));54. }55. else56. {57. toolbar.Create().Text(@ressourceManager.GetString("RequestLicence"));58. }59. })60. .Editable(editable =>61. {62. editable.Mode(GridEditMode.PopUp);63. if (currentUser.Type == (int)PAService.PartnerEDM.UserRole.Admin)64. {65. editable.TemplateName("LicenceEditTemplate");66. }67. else68. {69. editable.TemplateName("LicenceRequestTemplate");70. }71. editable.Window(w => w.Width(600));72. })73. .Events(e => e74. .Edit("AdaptLicenceEditPopup")75. .DataBound("UpdateDatesColors")76. .Save("UpdateCalculatedFields")77. .DetailExpand("grid_detailexpand")78. .Cancel("Cancel")79. )80. .Sortable()81. .Filterable()82. .Resizable(resize => resize.Columns(true))83. .ToClientTemplate()84. )85.</script>The problematic label:
1.@Html.LabelFor(l => l.IsDemo)Which get its name from:
1.[LocalizedDisplayName("IsDemoLicence")]2.public bool IsDemo { get; set; }which render as State in English, but as &201;tat in French. Note that the same label is decoded correctly outside of the popup (in my grid headers).
What am I doing wrong? Thanks in advance.
UPDATE : The popup decode the characters correctly for the top level grid, which means that the problem seems to come from the templates.