7

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要素に追加する方が簡単でしょうか?

4

1 に答える 1