2009-11-23 12 views
21

コントローラとアクションを指定しないHtml.BeginFormとHTML属性

の清潔さが気に入っています。HTML属性を追加するには、コントローラー、アクション、およびフォームメソッドを指定する必要があります。

using (Html.BeginForm("Action", "Controller", FormMethod.Post, 
    new { id = "inactivate-form" }) 

Html.BeginFormを使用してフォームのHTML属性を指定する方法はありますか?

答えて

16

なぜ単純なhtmlを使用しないのですか?

<form id="inactivate-form" method="post" > 
</form> 
+1

これは、ASP.NETのまさに新しいユーザーであるになりMVCは理解する必要があります。それはすべてのコードである必要はありません。 :) – CodeMonkey

+0

例に従う以外の理由はありません。私はあなたの提案したメソッドを 'Html.BeginForm'に優先します。 @CodeMonkey ASP.NET MVCの新しいユーザーであるとはどう思いますか? :) – ahsteele

+3

実際には、BeginFormを使用しないと、クライアント側の検証が動作しないように、そうでなければ「接続」されないという難しい方法が見つかりました。 –

10

あなたは 'のId-ED' 形式を追加するカスタム拡張を作成することができます。

public static MvcForm BeginIdedForm(this HtmlHelper htmlHelper, string id) 
{ 
    return htmlHelper.BeginForm(null, null, FormMethod.Post, new Dictionary<string, object>() { { "id", id } }); 
} 

使用法は、単に

using(Html.BeginIdedForm("inactiveate-form")) 
関連する問題