2011-08-02 2 views
2

私は@ Html.BeginForm()にクラスを与えて@をカスタマイズすることはできますか?

@using (Html.BeginForm()) 

を使用することができますさまざまな方法を通じて見えたが、私はまだ非常に混乱しています。私は自分自身のパラメータを設定できるようにこれをクラス名で提供することを望みます。

また、私はこれらのクラスを提供したいと思います:

@Html.ValidationSummary(true, "Login was unsuccessful. Please correct the errors and try again.") 
@Html.ValidationMessageFor(m => m.Login.UserName) 

これは可能ですか?

+0

どのパラメータを追加しますか?いくつかのクエリ文字列?あなたは '@using(Html.BeginForm(object routeValues))'を使うことができます。ここで、routeValuesはクラスであるかもしれません。 –

答えて

9

はい:

@Html.BeginForm("Index", "Home", FormMethod.Post, new { @class = "myClass" })

@Html.ValidationMessageFor(m => m.Login.UserName, "Validation message", new { @class = "myOtherClass" })

また、行うことができます。

@Html.BeginForm(htmlAttributes: new { @class = "myClass" })

+0

ありがとうございました。私はあなたが "インデックス"、 "ホーム"を指定することを参照してください。 (Html.BeginForm()を使用した場合と同じスクリプトにデフォルトすることができる方法はありますか? – Kiyoshi

+0

修正された回答を参照 –

+0

ありがとうNeil。あなたが提案したコードを使用します! – Kiyoshi

1

htmlAttributesパラメータを受け入れるオーバーロードがあります。このようにそれを使用し :

@Html.ValidationMessageFor(m => m.Login.UserName, "validation message", new { @class="custom-class" }) 
関連する問題