2011-10-24 12 views
3

フォームを使用するすべてのページに含める必要がある、検証用のJavascriptファイルがあります。考え方は何とかHtml.BeginFormを上書きし、そのオーバーライドでは、ResourceManagerに必要なJavascriptを追加します(最終的にHTMLへのすべての参照を書き込むことになります)。ASP.NET MVC 3は、Html.BeginFormをオーバーライドします。

Html.BeginFormをオーバーライドするか、Html.MyBeginFormのような別のExtensionMethodを作成する唯一のオプションがあります。これはJSのインクルードを行い、元のBeginFormを呼び出しますか?

答えて

0

私はHtml.BeginFormをオーバーライドしたり、あなたがHtml.BeginFormの出力を上書きすることはできませんHtml.MyBeginForm

のような別の ExtensionMethodを作成するための唯一の選択肢であることができます。カスタム拡張メソッドを記述する必要があります。それとも、もっと邪魔にならないjavascriptを使ってカスタムロジックをフォームにアタッチしてください。 Html5 data- *属性は、.data()関数を使用してjavascriptによって目立たないように悪用される可能性のあるDOM要素にメタデータを添付する優れた方法です。これは、ASp.NET MVCで控えめなクライアント側の検証と控えめなAJAXの作業です。

0

マスター(または_Layout.cshtmlまたは_Layout.vbhtml)ファイルにjavascriptを含める限り、何も変更する必要はありません。目立たないアヤックスは、おそらくより良い方法です。適切なオーバーロードを使用して、フォームにさまざまなプロパティを追加するだけです。

フォームを含むビューにのみjavascriptファイルを添付する場合は、マスターに条件付きセクションを含めることも、問題のカテゴリに基づいて別のマスターを選択することもできます。

マスターは他のマスターになることができます。フォームのマスターと非フォームのマスターを持つことができます。両方とも、レイアウト情報を含む共通の基本マスターを使用できます。

+0

はい私は控えめなスクリプトを使用していますが、事実は、私はこれらのスクリプトをすべてのページに含めたいと思っています。 – jaap