C#如何在视图中打印硬编码值

时间:2017-12-28 09:53:07

标签: c# asp.net-mvc

要问可能很傻,但我仍然无法正确地进行谷歌搜索。 下面是我打印的代码"选择"在视图中:

<option value="0" @if(ViewBag.country == 0)  { @:selected } >NO</option>

它给我一个像

这样的错误
Parser Error Message: The if block is missing a closing "}" character.  Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.

简称:https://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx/

3 个答案:

答案 0 :(得分:2)

您可以使用内联代码的?:表示法

<option value="0" @(ViewBag.country == 0 ? "selected" : string.Empty)>NO</option>

答案 1 :(得分:1)

可以这样做

像这样创建

@{ var selected = ViewBag.country == 0 ? "selected" : ""; }

然后创建如下所示的选项

<option value="0" @selected>NO</option>

答案 2 :(得分:0)

this帖子所述。

  

使用以下内容明确指出内容行的开头   @:代码块中的字符序列。

要使代码工作,请将大括号}关闭到下一行。

<option value="0" @if (ViewBag.country == 0) { @: selected
        }>
    NO
</option>

其他选项使用<text> element

<option value="0" @if (ViewBag.country == 0) { <text> selected</text> }>NO</option>

<option value="0" @{if (ViewBag.country == 0) { <text> selected</text> }}>NO</option>

参考文献:

1。Shorten-this-if-statement-in-razor-to-one-line

2。One-line-if-statement-with-razor-and-net