Asp.net显式本地化问题

时间:2011-01-11 05:45:43

标签: c# asp.net resources localization globalization

我在ASP.net中的本地化有些问题。 我已经生成了资源并通过变量绑定text属性。 在源文件中。

<asp:Label ID="Label1" runat="server" Text='<%# Eval("name") %>' meta:resourcekey="Label1Resource1"></asp:Label>

背后的代码

protected string name;
    protected void Page_Load(object sender, EventArgs e)
    {
        name = "Hello World";
    }

以上事情很简单,但是当我运行项目时。 我得到了

Parser Error 

描述:解析为此请求提供服务所需的资源时发生错误。请查看以下特定的解析错误详细信息并相应地修改源文件。

分析器错误消息:“System.Web.UI.WebControls.Label”上的属性“Text”上不能有多个绑定。确保此属性未通过隐式表达式绑定,例如,使用meta:resourcekey。

来源错误:

以上只是我在项目中遇到的一个例子。

请帮助我如何同时进行本地化和绑定。

3 个答案:

答案 0 :(得分:1)

我找到的解决方案是在标签之间制作数据。

<asp:Label ID="Label1" runat="server"  meta:resourcekey="Label1Resource1"><%# Eval("name") %></asp:Label>

但这也会导致另一个问题。

如果我想在后面的代码中访问该标签的值,该怎么办?

答案 1 :(得分:0)

您只能在Page事件中使用一个绑定。 如果你想使用两种绑定,那么它必须在不同的事件中使用。

答案 2 :(得分:0)

避免将Text属性放在标记中,因为它已经绑定到资源文件中的本地化文本,只需调用 Label1.Text =“hello world”