Динамическое указание свойства на модели с использованием движка бритвы - PullRequest
0 голосов
/ 22 июля 2011

У меня есть бритвенное представление с модельным объектом, представляющим собой набор элементов, имеющих два языковых свойства: одно для английского и одно для французского. Я ищу способ динамически ссылаться на правильное свойство языка в виде бритвы.

Я могу сделать это:

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 Ответ

1 голос
/ 20 сентября 2011

Синтаксис Razor просто дает вам простой способ написать C # или VB.NET в ваших представлениях ... но вы все еще используете статический язык. Чтобы ответить на ваш вопрос вопросом: как бы вы сделали то же самое за пределами Razor? например какой код вы бы написали, чтобы отобразить то же самое на консоли?

Я не знаю, как на самом деле выглядят ваши классы, но если вы скажете, что они словари, то вы можете просто сделать:

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

как и любой обычный словарь.

...