5

谁能告诉如何访问类库 asp.net mvc4 中的资源文件?我正在构建一个通用类库,我将在我的所有项目中使用它。我尝试使用以下代码:

  HttpContext.GetGlobalResourceObject();

谁能告诉任何其他方法可以访问类库中的资源文件?

4

5 回答 5

6

根据评论进行编辑,包括最佳实践:

在 MVC4 中创建资源文件: 在解决方案资源管理器中,右键单击您的项目。然后,单击“添加”,然后单击“添加 ASP.Net 文件夹”,然后单击 App_GlobalResources。在新文件夹上,右键单击。然后添加一个新的资源文件。

然后您打开此资源文件并可以添加新资源。左边一列是您设置键的地方,右边一列是您必须在其中插入的值。

然后; 这真的很容易,您只需编写以下代码部分即可访问您想要的值。

在 c# 方面,它是:

Resources.NameOfYourResFile.NameOfYourResKey

在 ASP 方面,假设您使用的是剃须刀,它是:

@Resources.NameOfYourResFile.NameOfYourResKey

示例:如果您创建了一个名为“Global.resx”的文件,并创建了以“我的超级网站”为值的键“ApplicationTitle”,则只需编写以下代码行将其放入例如细绳 :

 string siteTitle = Resources.Global.ApplicationTitle;

就是这样

于 2013-09-05T14:49:58.290 回答
3

创建资源时,您必须将访问级别从内部(默认)设置为公开。在此之后,您只需通过资源名称和生成到其中的静态属性来访问您的资源(如果您引用程序集)。

于 2013-09-12T11:59:48.860 回答
2

我建议您为资源创建一个新库一旦您完成了资源键值对的制作,然后将您的资源库的引用添加到您的项目中。然后就可以通过这种方式访问​​资源库了

命名空间.ReourceLibraryName.Key

于 2013-09-18T05:14:54.317 回答
1

只需在您的类库项目中包含 System.Web.dll 并访问资源文件,就像您在 MVC 项目中访问的一样

HttpContext.GetGlobalResourceObject();

当您在 MVC 项目中向此类库项目添加引用并运行该项目时,此代码将在 MVC 项目的上下文中执行,您将获得正确的HttpContext.

注意:- 当您尝试测试此应用程序时,像这样直接使用 HttpContext 会产生问题

于 2013-09-12T07:12:08.503 回答
1

您可以在类库中的任何位置添加资源文件,但我认为您的问题是如何使用它,如果您的资源文件名称是 Res1.resx 并且其中有一个名为 message 的键,那么您可以调用

  Res1.message

来自您在该库中的课程。但是您我确定您想从库外部使用它事件,因为您需要公开您的资源文件,请参阅Visual Studio - Resx 文件默认“内部”到“公共” ,如果它请告诉我是你需要的还是别的什么?

于 2013-09-18T05:02:24.830 回答