2010-12-02 21 views
2

私は部分的なビューを使用して、データベース内のレコードを追加および編集のために同じフォームを使用したいです。標準のHtml.BeginFormが、使用されているアクション(追加/編集)に応じて正しいhtmlを自動的に出力するので、これは問題ないと思います。 しかし、私はいくつかの余分なHTML属性で上記のフォームを出す必要があります。 ACTIONとCONTROLLERの名前を指定しなくても、これを可能にするオーバーロードはないようです。 私は確かに、これらをハードコーディングした場合、私は編集のために同じフォームを使用して自動的に追加カント?ASP.NET MVC:html属性を指定するときに、追加と編集で同じフォームを使用しますか?

または私は何かが足りないのですか?

歓声

答えて

2

nullにアクションとコントローラの値を設定し、それらが文脈から引き出されます。あなたはパラメータを必要としない過負荷のためsourceを見れば、あなたはそれが単にヌルとしてこれらの値を使用してより多くのパラメータを必要とするバージョンを呼び出すことがわかります。そのオーバーロードをヌル値で直接呼び出すと、同じ効果があります。過負荷に応じて、あなたは文字列としてnull値をキャストする必要があるかもしれません使用している - 私は、コンパイラが文字列としてNULL値をキャストすることなく、方法を区別することができない場合にのみ、これを行うと思います。

<% using (Html.BeginForm(null, null, FormMethod.Post, new { @class = "foo" })) 
    { %> 
<% } % > 
+0

あなた先生、天才です – Sergio