如何使用Razor语法有条件地输出HTML?

时间:2016-02-05 16:30:43

标签: c# html asp.net asp.net-mvc razor

我想做的很简单:

<td class="bold-and-caps">@{if (++i == 1) { subsec.Title } else { String.Empty } } </td>

除了我得到

  

“只有赋值,调用,递增,递减,等待和新对象   表达式可以用作语句“

subsec.TitleString.Empty

我怎么在Razor中写“如果条件,输出X”类型语句?

2 个答案:

答案 0 :(得分:6)

你可以使用三元运算符:

<script type="text/javascript" src="jquery-2.2.0.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $('#text').hide();

        $('a#random').click(function(){
            $('#text').toggle();
        })

        function RndText() {
            var rannum= Math.floor(Math.random()*textarray.length);
            document.getElementById('#text').innerHTML=textarray[rannum];
        }
        var textarray = [
         "Hello",
         "How are you",
         "Good Bye"    
        ];
        $("#text").load()
    })
</script>

<body>
    <div id="text">Line to Show</div>
    <a href="#" id="random">RANDOM</a>
</body>

答案 1 :(得分:2)

您可以通过以下代码执行此操作:

<td class="bold-and-caps">
    @if (++i == 1)
        { @subsec.Title }
    else
        { <text>@string.Empty</text> }
</td>

但是在你的情况下,当你只想显示某些内容时,你不必使用带有空字符串的else

<td class="bold-and-caps">@if(++i == 1){ @subsec.Title }<td>