私はRazorコードに値を表示しようとしています。私はDisplayForとLabelForの両方を試しました。 DisplayForを使用すると、値が表示されますが、CSSは適用されません。私がLabelForを使用する場合、それは逆ですが、私のCSSは適用されますが、テキストは "EmployeeId"としてのみ表示されます。 ViewModelにViewに行く前にEmployeeIdに値が設定されていることを確認しました。Labelは値を表示しません。
これは私が試したものです:すべてのDisplayForの
<div class="row voffset2">
<div class="col-md-12">
Employee ID: @Html.LabelFor(m => m.EmployeeId, new { @class = "control-label label-value" })
</div>
</div>
<div class="row voffset2">
<div class="col-md-12">
Employee ID: @Html.DisplayFor(m => m.EmployeeId, new { @class = "control-label label-value" })
</div>
</div>
ちょうどFYI: 'DisplayFor'は* *テンプレート-helperです。つまり、出力は「表示テンプレート」に基づいています。ほとんどのプロパティタイプのデフォルトの表示テンプレートは、HTMLなしで値を出力します。その結果、実際にあなたがそれを渡すことを許可したとしても、htmlAttributesパラメータを適用するものは何もありません。独自のカスタム表示テンプレートを作成してHTMLをインクルードすることはできますが、それはカスタムテンプレートなので、 HTML上の属性を手動で設定します。 'DisplayFor'は値を渡すのに使うことができる' additionalViewData'を受け入れます。 –
ありがとう、両方の答えは正しいようですが、DisplayForが私の必要とするものです。私は実際に2人のヘルパーの違いを理解できるように、すべての余分な情報に感謝します。 – Caverman