проблема с синтаксисом Razor и попытка вывести строку из функции - PullRequest
0 голосов
/ 03 августа 2011

У меня есть следующий код в файле .cshtml, но каждый <option> возвращается ни с чем.Я убедился, что GetDescription () возвращает правильную строку, поэтому у меня должна быть проблема с синтаксисом в моем коде Razor.Может кто-нибудь сказать мне, в чем проблема, пожалуйста?

            <select>
            @{
                Array enumValues = null;
                enumValues = Enum.GetValues(typeof(SearchOperatorString));
                foreach (var type in enumValues)
                { 
                <option>
                    @{((Enum)type).GetDescription();} </option>
                }
            }
        </select>

Ответы [ 2 ]

1 голос
/ 03 августа 2011

Попробуйте это:

@foreach(var type in Enum.GetValues(typeof(SearchOperatorString))){
    <option>@((Enum)type).GetDescription()</option>
}
1 голос
/ 03 августа 2011

Вы делаете блок операторов, который вызывает GetDescription, но ничего не делает с его результатом.

Вместо этого вы хотите использовать слепок кода, который печатает выражение на странице:

 @((Enum)type).GetDescription()

Вместо того, чтобы делать это вручную, вы должны вызвать помощника DropDownList:

@Html.DropDownList("myName", 
    enumValues.Cast<SearchOperatorString>()
              .Select(s => new SelectListItem { Text = e })
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...