ASP.NET MVC SiteMap提供程序可以使用任意资源吗?

时间:2012-04-18 11:27:41

标签: asp.net-mvc resources sitemapprovider

this page,作者写道资源必须位于特殊应用程序文件夹(App_GlobalResources)中。好吧,我把它们放进去了。但是在我的项目中,我使用了一个资源文件夹树,它反映了我的视图/模型/等树。文件夹。因此,在我的树分支的每个终端文件夹中,我有一个具有相同名称的文件(如“字符串”或任何)作为其他资源文件。这个方案似乎很容易维护资源对应的相对项目文件。都是这样的:

应用程序文件夹树:

Views
-Account
--LogOn.cshtml
-Home
--Index.cshtml

资源文件夹树:

Resources
-Views
--Account
---LogOn
----Locals
-----Strings.resx // the same name
--Home
---Index
----Locals
-----Strings.resx // the same name

但名称中的这种相同性会导致App_GlobalResources文件夹中的资源冲突错误。即使我为每个资源文件分配了不同的命名空间。

如果我使用App_GlobalResources中的方案,则所有资源都可以正常运行MvcSiteMapProvider

那么,MvcSiteMapProvider可以使用除App_GlobalResources之外的其他资源文件夹吗? 或者我如何组织我的资源以使它们适当地与MvcSiteMapProvider一起使用,但避免因资源量巨大而造成复杂化。

1 个答案:

答案 0 :(得分:1)

如果将资源文件放在App_GlobalResources文件夹之外,则有一些优点。斯科特艾伦写了一篇关于它的优秀文章:

http://odetocode.com/Blogs/scott/archive/2009/07/16/resource-files-and-asp-net-mvc-projects.aspx

您可以使用MvcSiteMapProvider内其他程序集中的资源,但您必须编写自己的资源提供程序,如下所述:

http://msdn.microsoft.com/en-us/library/aa905797.aspx

www.c-sharpcorner.com/uploadfile/prvn_131971/chapter-i-resources-and-localization /