Razor,C#,asp.net:如何在@if比较后显示一行纯文本

cur*_*us1 2 c# asp.net razor

我正在使用Razor/C#进行单一概念验证页面.

我有一个select下拉列表,我需要selected在比较后输出到一个选项.

我希望做这样的事情:

<option value="Washington" 
@if (String.Compare(@location, "Washington", true) == 0) { 
    selected
} >Washington</option>    
Run Code Online (Sandbox Code Playgroud)

我总是得到编译错误.

任何快速解决方案

问候和感谢.

Mik*_*ind 5

你应该使用条件属性而不是所有if...else东西:

<option selected="@(location == "Washington")">Washington</option>
Run Code Online (Sandbox Code Playgroud)

如果表达式求值为false,则根本不呈现该属性.如果计算结果为true,则呈现为selected="selected".

此外,value如果选项与文本值相同,则无需向该选项添加属性.