0

I have a razor view with model object that is a collection of items that have two language properties, one for English and one for French. I am looking for a way to dynamically reference the correct language property in a razor view.

I can do this:

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

But I want to do something like this:

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

...

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

Any ideas?

1 Answer 1

1

Razor syntax just gives you an easy way to write C# or VB.NET in your views... but you are still using static language. To answer your question with a question: how would you accomplish the same thing outside of Razor? e.g. what code would you write in order to render the same thing to the console?

I don't know what your classes actually look like, but if you say they are dictionaries then you could just do:

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

just like any normal dictionary.

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.