Access resx resource files from another project

前端 未结 2 1617
一生所求
一生所求 2020-12-03 11:16

I\'m using asp.net 3.5, my solution currently has 2 projects, an API class project and a website project, within the class project I have a resource file named checkin.resx.

2条回答
  •  再見小時候
    2020-12-03 11:47

    Resource expressions (<%$ Resources: ClassKey, ResourceKey %>) use ResourceExpressionBuilder class behind the scene. This class can lookup global and local resources only (in website's App_GlobalResources and App_LocalResources folders).

    Instead, you can use CodeExpressionBuilder class to access resources from different project. Here's how to use it.

    Add CodeExpressionBuilder class to App_Code folder:

    using System.CodeDom;
    using System.Web.Compilation;
    using System.Web.UI;
    
    [ExpressionPrefix("Code")]
    public class CodeExpressionBuilder : ExpressionBuilder
    {
       public override CodeExpression GetCodeExpression(BoundPropertyEntry entry,
          object parsedData, ExpressionBuilderContext context)
       {
          return new CodeSnippetExpression(entry.Expression);
       }
    }
    

    Add the following to system.web/compilation section in web.config:

    
       ...
       
          
       
    
    

    Finally, you can call into strongly-typed class generated for your .resx file:

    
    

提交回复
热议问题