MVC アプリケーションでデータを表示するために Html.Label を使用しています。メールアドレスを表示しようとすると、正しくレンダリングされません
Model.CopyToEmail = lab@gmail.com
@Html.Label((string)(Model.CopyToEmail))
しかし、私が見るレンダリングされた出力は
com
誰でも Html.Label を使用して表示する方法を提案できますか
lab@gmail.com
MVC アプリケーションでデータを表示するために Html.Label を使用しています。メールアドレスを表示しようとすると、正しくレンダリングされません
Model.CopyToEmail = lab@gmail.com
@Html.Label((string)(Model.CopyToEmail))
しかし、私が見るレンダリングされた出力は
com
誰でも Html.Label を使用して表示する方法を提案できますか
lab@gmail.com
Html.Label
<label>
タグを表示するフィールドを取ります。
文字列をネストされたプロパティとして読み取り、最も内側のプロパティの名前を出力しています。
普通のテキストを書きたいだけです:
@Model.CopyToEmail
を呼び出すこともできます@Html.DisplayFor(m => m.CopyToEmail)
。
厳密に型指定されたビューを使用する (viewmodel をビューに渡し、ViewBag/ViewData を使用しない) ことは良い習慣であり、html ヘルパーの汎用オーバーロードを使用できます。強く型付けされた html ヘルパーを使用して書き直した例を次に示します。
Html.LabelFor(model => model.CopyToEmail)
また、html のラベルはデータを表示するためのものではなく、編集中のプロパティのラベルを表示するためのものです。プロパティで[DisplayAttribute]を使用するか、このオーバーロードを使用できます
public static MvcHtmlString Label(
this HtmlHelper html,
string expression,
string labelText
)
///
Html.LabelFor(model => model.CopyToEmail, Model.CopyToEmailLabelText)
プロパティ値を返すために、モデルまたはデータ ソースをビューに表示してください。Html.Encode(Model.Email)