使用剃刀视图引擎在模型上动态指定属性

时间:2011-07-22 18:03:48

标签: asp.net-mvc view razor

我有一个模型对象的剃刀视图,它是具有两种语言属性的项集合,一个用于英语,一个用于法语。我正在寻找一种在剃刀视图中动态引用正确语言属性的方法。

我可以这样做:

if (Culture == "en-CA")
    return model.English;
else
    return model.French;

但我想做这样的事情:

if (Culture == "en-CA")
    lang = "English"
else
    lang = "French"

...

@foreach (var record in Model) {
    @record.lang
}

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

Razor语法只是为您提供了一种在视图中编写C#或VB.NET的简单方法......但您仍在使用静态语言。用一个问题回答你的问题:你如何在Razor之外完成同样的事情?例如为了向控制台渲染相同的东西,你会写什么代码?

我不知道你的课程实际上是什么样的,但如果你说他们是字典,那么你可以这样做:

@foreach(var in record in Model) {
    @record[lang]
}

就像任何普通字典一样。