ASP.NET MVC で動作するようにいくつかの既存の HTML を変換しており、名前空間プレフィックスを含む追加の属性 (現時点では保持する必要があります) を持つ入力フィールドを含むいくつかのフォームがあります。
<input type="text" foo:required="true" foo:message="Please enter a username" />
コレクション初期化構文を使用して指定TextBoxFor
できるヘルパー メソッド オーバーロードを使用したいと思います。htmlAttributes
@Html.TextBoxFor(
model => model.Username,
new { foo:required="true", foo:message="Please enter a username" })
foo:required
ただし、 (etc)にコロンがあるため、この構文は有効ではありません。
代わりに、次のより冗長な辞書初期化構文を使用する必要があります。
@Html.TextBoxFor(
model => model.Username,
new Dictionary<string, object>
{
{ "foo:required", "true" },
{ "foo:message", "Please enter a username" }
})
最初の構文のバリエーションを使用して、(より適切な言葉が必要なため) コロンをエスケープすることは可能ですか?
または
TextBoxFor
これは、ヘルパー メソッドが実際には役に立たないシナリオですか。既存の未加工の HTML を保持value="@Model.UserName"
して、input
要素に追加する方が簡単でしょうか?