2009-05-20 57 views
5

我想用存储在资源文件中的值填充下拉列表。这是最好的方法是什么?我可以从MVC中的视图访问资源文件吗?

我可以创建一个SelectList并将其推入模型中,在这种情况下,下拉列表将自动填充。 但我可以从视图访问资源文件吗?如果是,我应该吗?

回答

8

所有的资源字符串都被编译成一个你可以在视图中引用的类。例如:

<%= Resources.Strings.MyCustomString %> 

我相信下面会自动添加到你的web.config这样就可以把资源..

<namespaces> 
    <add namespace="Resources"> 
</namespaces> 

然而,这将不支持本地化。为此,您需要使用helper method

如果你想填充一个列表,你需要创建一个帮助类,它可以遍历字符串类并提取适当的值,或者在逗号分隔的列表中编码你的选择,并在馈送之前解析/分割它到你的下拉列表的选择列表。

+1

使用VS2012和MVC 4项目,我不得不手动添加该命名空间到我的Web.config文件;之后,并确保我的资源文件Access Modifier设置为公共,它工作正常。 – statikuz 2013-02-06 23:24:04

2

我还没有尝试过,但在某处阅读资源的工作方式与他们在Web窗体中工作的方式相同。

+0

我试图在视图中包含命名空间,然后使用资源访问它,但它不工作.. – buntykawale 2009-05-20 06:59:41

2

使用以下:

<%= Resources.Strings.MyCustomString %> 

我不明白托德的“不支持本地化”,这正是它的意思。

相关问题