无法在 DevExtreme 数据网格的工具栏按钮上显示 German/Czech/Slovak 语言内容
Unable to display the German/Czech/Slovak language content on the Toolbar buttons of DevExtreme datagrid
我正在使用不同的按钮在我的应用程序中自定义 DevExtreme 工具栏。在此命令按钮上,我们希望根据登录用户显示本地化字符串。
用于翻译我们实现了一个字典,它的键是数字,值是基于登录用户的翻译字符串。我们从控制器端在模型变量中填充这个字典。填充此值时,它会对一些特殊字符进行编码,这些字符在 HTML 控件、数据网格列 headers 上正确显示,但是当我们使用工具栏上的按钮时,它仅显示编码值。
Datagrid toolbar
此处工具栏代码如下,
函数 onToolbarPreparing(e){
var 数据网格 = e.component;
e.toolbarOptions.items.unshift(
{
location: "after",
widget: "dxButton",
options: {
icon: "toolbox",
text:'@_localizer["11111"]',//@_localizer["11111"]=Warenempfänger bearbeiten
disabled:true,
elementAttr: {
id: 'btnEditShiptos',
"class": "btn btn-primary"
},
onClick: function() {
location.replace("https://example.com/appname/?id="+selectedId);
}
}
},
{
location: "after",
widget: "dxButton",
options: {
icon: "runner",
text:'@_localizer["22222"]',
disabled:true,
elementAttr: {
id: 'btnEditAccess',
"class": "btn btn-primary"
},
onClick: function() {
location.replace("https://example.com/appname/?id="+selectedId);
}
}
},
{
location: "after",
widget: "dxButton",
options: {
icon: "user",
text:'@_localizer["33333"]',
disabled:true,
elementAttr: {
id: 'btnEditProfile',
"class": "btn btn-primary"
},
onClick: function () {
location.replace("https://example.com/appname/?id="+selectedId);
}
}
}
);
}
在上面的代码中,@_localizer["112185"] 是从控制器填充的模型中的字典变量。其中包含值,
<"112145","Warenempfänger bearbeiten"> 此处此文本应显示为 Warenempfänger bearbeiten 但它显示的是编码值。如果我尝试在 HTML 控件中显示相同的值,如跨越 DevExtrene 网格,它工作正常。
请您提供一些解决方案,以便我可以很好地显示按钮文本。
您可以使用 HtmlString class 包装 HTML 编码的字符串:
text: '@(new HtmlString(_localizer["111"]))',
我正在使用不同的按钮在我的应用程序中自定义 DevExtreme 工具栏。在此命令按钮上,我们希望根据登录用户显示本地化字符串。
用于翻译我们实现了一个字典,它的键是数字,值是基于登录用户的翻译字符串。我们从控制器端在模型变量中填充这个字典。填充此值时,它会对一些特殊字符进行编码,这些字符在 HTML 控件、数据网格列 headers 上正确显示,但是当我们使用工具栏上的按钮时,它仅显示编码值。
Datagrid toolbar
此处工具栏代码如下,
函数 onToolbarPreparing(e){ var 数据网格 = e.component;
e.toolbarOptions.items.unshift(
{
location: "after",
widget: "dxButton",
options: {
icon: "toolbox",
text:'@_localizer["11111"]',//@_localizer["11111"]=Warenempfänger bearbeiten
disabled:true,
elementAttr: {
id: 'btnEditShiptos',
"class": "btn btn-primary"
},
onClick: function() {
location.replace("https://example.com/appname/?id="+selectedId);
}
}
},
{
location: "after",
widget: "dxButton",
options: {
icon: "runner",
text:'@_localizer["22222"]',
disabled:true,
elementAttr: {
id: 'btnEditAccess',
"class": "btn btn-primary"
},
onClick: function() {
location.replace("https://example.com/appname/?id="+selectedId);
}
}
},
{
location: "after",
widget: "dxButton",
options: {
icon: "user",
text:'@_localizer["33333"]',
disabled:true,
elementAttr: {
id: 'btnEditProfile',
"class": "btn btn-primary"
},
onClick: function () {
location.replace("https://example.com/appname/?id="+selectedId);
}
}
}
);
}
在上面的代码中,@_localizer["112185"] 是从控制器填充的模型中的字典变量。其中包含值,
<"112145","Warenempfänger bearbeiten"> 此处此文本应显示为 Warenempfänger bearbeiten 但它显示的是编码值。如果我尝试在 HTML 控件中显示相同的值,如跨越 DevExtrene 网格,它工作正常。
请您提供一些解决方案,以便我可以很好地显示按钮文本。
您可以使用 HtmlString class 包装 HTML 编码的字符串:
text: '@(new HtmlString(_localizer["111"]))',