2

if-else ステートメントを使用せずに、ある時点でビューの内容をフラッシュする方法はありますか? たとえば、テーブルを使用して一連のレコードをリストしているが、行が見つからない場合はヘッダーは必要ない場合:「データが見つかりません」というメッセージが表示される可能性があります。そうしたいです:

if (records.count == 0) {
  <div>No Data</div>
  return; //flush/render view
}
//no else
<table><tr><th>......</tr>
foreach (var record in records) {
  <tr><td>....</tr>
}
</table>

理にかなっていますか?または、単に怠けているだけです。ネストされたコードの巨大なチャンクが嫌いです。特に、インデントがそれほど洗練されていないビュー内ではそうです。

4

1 に答える 1

2

このようにしてみてください。うまくいくはずです:

@if (records.count == 0)
{
    <div>No Data</div>
    return;
}

<table>
    <tr><th>......</tr>
    foreach (var record in records) 
    {
        <tr><td>....</tr>
    }
</table>

条件 ( records.count == 0) が満たされた場合のみNo Data、Razor ビューに出力され、後続のコードは実行されず、テーブルは表示されません。

于 2012-12-28T21:53:17.233 に答える