記事詳細
- 投稿日
- 2026年08月21日21時16分
-
タイトル
-
ASP.NET Core MVC: <table class="table>内の@Html.DisplayFor(modelItem => item.IncomeCategoryNavigation.CategoryName)の値がNullである時、他の<th> </th>の表示をしないようにするコードを教えてください。
- 内容
-
ASP.NET Core MVC の Razor ビューで
@Html.DisplayFor(modelItem => item.IncomeCategoryNavigation.CategoryName)が null の場合に、その列(<th>...</th>)自体を表示しないようにするには、条件分岐で囲むのが一番シンプルです。サンプルコード
ポイント
item?....?....- Null 条件演算子 (
?.) を使うことで、途中のオブジェクトが null でも例外を防ぎます。
- Null 条件演算子 (
string.IsNullOrEmpty(...)- 値が
nullまたは空文字の場合に列を非表示にできます。 - 空文字も表示したくない場合に有効です。
- 値が
列ごと非表示
<th>タグごとifブロックに入れることで、HTML 出力自体を抑制します。
もし ヘッダー行 (
<thead>) も同様に非表示にしたい場合は、先にModelを走査して「その列に表示すべき値があるか」を判定し、フラグで制御する方法が使えます。✅ この方法なら、データが null の場合は列そのものを出力しないことができます。
もしご希望が「行単位で非表示」か「列単位で非表示」かによって、条件の置き方を変えれば対応可能です。必要であれば、このロジックを 部分ビュー(Partial View) に切り出して再利用できる形にもできますが、そのコードも提示できます。
このまま列単位非表示のままで進めますか?Powered by Froala Editor
-
添付画像
-
画像はありません
- Genreのカテゴリ-名
- Views