一点背景
我已经建立了自己的本地化机制,基本上是这样的:
- 我有一个 XML 文件,它存储每种语言的所有字符串
Application
应用程序启动时,我正在解析和存储对象中 XML 的值
现在设置无asp 控件我正在使用这行代码:
<div><%= Application["New-Permission-Role"].ToString() %></div>
但我不能在 ASP.NET 控件上使用这种语法。
例如,我正在尝试本地化HeaderText
a 的属性GridView
<asp:TemplateField HeaderText='<%= Application["Actions"].ToString() %>'>
我知道它与 ASP.NET 相关而不是渲染它
注意:我知道我可以在文件中的服务器端填充它.cs
,但我想知道是否有办法在 aspx 文件上完成它?
我已经尝试了以下方法:
更改<% = %>
为<%# %>
增加数据绑定,我得到一个编译错误
Databinding expressions are only supported on objects that have a DataBinding event. System.Web.UI.WebControls.TemplateField does not have a DataBinding event
。
解决方案 我遵循了@roman_m 的建议,并使用这里 提到的这篇文章创建了一个自定义表达式