1. ホーム
  2. asp.net-mvc-3

[解決済み] Html.DisplayForの構文は何のためにあるのですか?

2022-02-01 15:30:42

質問

Razorでは、@Htmlがリンクや入力などのHTMLを生成するような、きれいなことをたくさんしてくれるということは理解しています。

でも、DisplayFor関数がわからない...。

なんで書くんだろう。

@Html.DisplayFor(model => model.Title)

を書けばいいだけなのに。

@Model.Title

解決方法は?

Html.DisplayFor() は、プロパティの型に合致するDisplayTemplateをレンダリングします。

見つからなければ .ToString() .


ディスプレイテンプレートについてご存じない方は、部分的なビューを DisplayTemplates フォルダを作成し、コントローラに関連付けることができます。


という名前のビューを作成した場合 String.cshtml の内部で DisplayTemplates フォルダを作成します。 Home または Shared ) を次のようなコードで記述してください。

@model string

@if (string.IsNullOrEmpty(Model)) {
   <strong>Null string</strong>
}
else {
   @Model
}

次に @Html.DisplayFor(model => model.Title) (仮に Title が文字列の場合、そのテンプレートが使用されて <strong>Null string</strong> は、文字列がNULL、または空である場合