ASP.NET:如何从本地资源传递值到字符串?

4
我已经创建了一个名为server.aspx的网页和相关的本地资源文件server.aspx.resx。在资源文件中,我使用关键字Error定义了消息“{0}是必需的”。
在我的.aspx页面中,我访问了这个字符串:
<asp:RequiredFieldValidator ControlToValidate="textboxName" runat="server" ErrorMessage="<%$ Resources:Error %> ID="validatorName">

现在我想传递一个值,例如文本框“名称”的名称到资源字符串中,以便错误消息为“名称是必需的”。

有没有可能将值传递给字符串?

Torben

3个回答

1
string message = GetFromResourceFile();
string completeMessage = string.Format(message, "Name");

好的,但这只能在代码后台实现吗?但我如何在 .aspx 页面中实现这个功能呢? - Torben

1
<asp:RequiredFieldValidator 
    ControlToValidate="textboxName" 
    runat="server" 
    ErrorMessage="<%$ string.Format(Resources:Error, 'textboxName') %> 
    ID="validatorName">

或者你可以尝试在代码后台中使用以下方法...

validatorName.ErrorMessage = string.Format(Resources.Error, "textboxName");

当我尝试这种方式时,我收到了错误消息,服务器标记格式不正确。 - Torben
尝试使用单引号,例如 ErrorMessage='<%$ string.Format(Resources:Error, "textboxName") %>'。 - Jakob Gade
没起作用。使用单引号时,我收到了错误消息:“未识别表达式前缀 'string.Format(Resources'。” - Torben
尝试使用单引号,即:ErrorMessage="<%$ string.Format(Resources:Error, 'textboxName') %>" %> ID="validatorName" - Michael Freidgeim

-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接