加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何从资源文件加载CustomValidator上的ErrorMessage?

发布时间:2020-12-15 04:26:24 所属栏目:百科 来源:网络整理
导读:我想从资源文件加载我的CustomValidator的ErrorMessage. 我的CustomValidator设置如下: asp:CustomValidator ID="cv1" runat="server" ControlToValidate="txt1" ErrorMessage="TEXT TO BE LOCALIZED" OnServerValidate="cv1_Validate" / 我的验证方法如下
我想从资源文件加载我的CustomValidator的ErrorMessage.

我的CustomValidator设置如下:

<asp:CustomValidator ID="cv1" runat="server" ControlToValidate="txt1" 
        ErrorMessage="TEXT TO BE LOCALIZED" OnServerValidate="cv1_Validate" />

我的验证方法如下:

protected void cv1_Validate(object source,ServerValidateEventArgs e)
{
    if (FalseCondition)
    {
        e.IsValid = false;
    }
    else
    {
        e.IsValid = true;
    }
}

验证工作正常,但我想从我的本地资源文件中提取ErrorMessage.

编辑:我也很好奇有没有办法使用meta:resourcekey这样做.

解决方法

假设您有一个页面(或控件)的本地资源,这将是这样做的方法
ErrorMessage="<%$resources:ResourceName %>"

如果您从全局资源文件中获取文本,您应该执行类似的操作

ErrorMessage="<%$resources:Strings,ResourceName %>"

其中Strings是文件的名称.这种方法称为显式本地化.

编辑

您可以使用meta:resourcekey.这称为隐式本地化.您需要拥有本地资源,因为此方法对全局资源无效.

  1. Make sure that you have local resource files (.resx files) that meet the following criteria:

    • They are in an App_LocalResources folder.

    • The base name matches the page name.

    For example,if you are working with the page named Default.aspx,the resource files are named Default.aspx.resx (for the default resources),Default.aspx.es.resx,Default.aspx.es-mx.resx,and so on.

    • The resources in the file use the naming convention resourcekey.”property”.

    For example,key name Button1.”Text”.

  2. In the control markup,add an implicit localization attribute.

    For example:

    <asp:Button ID=”Button1″ runat=”server” Text=”DefaultText”
    meta:resourcekey=”Button1″ />

资料来源:MSDN

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读