2011-01-19 21 views
4

jqueryまたはjavascriptを使用しているすべてのビューに非表示フィールドを追加します。しかし、私はそのコードをMasterPage.Masterにしたいので、コードを1か所に書いて、私が持っているすべてのビューを追加します。もしそうなら、どうすればいいですか?イムのasp.net MVC 2masterpageのフォーム要素に隠しフィールドを追加するには

答えて

18

$(function() { 
    $('body').append(
     $('<input/>') 
      .attr('type', 'hidden') 
      .attr('name', 'foo') 
      .val('some value') 
    ); 
}); 

か、この隠しフィールドはいくつかの特定の位置に挿入する場合は、あなたのマスターページのどこかに置かれているプレースホルダにはいくつかの他のセレクタと$('body')を交換してください。また、それらのIDやクラスを同じページに追加し、各フォームにこの隠しフィールドを挿入したい場合は、既存の<form>に挿入することもできます。

+0

+1素敵な答え –

0

ないMVCについてしかし、あなたはそのようなコードを持つことができるマスターページPage_PreRender方法で必ず使用して:これは関係なく、使用されるページのフォームに隠しフィールドをプッシュします

HiddenField field = new HiddenField(); 
field.ID = "HiddenField1"; 
field.Value = "SomeValue"; 
(this.Page.FindControl("form1") as HtmlForm).Controls.Add(field); 

をマスターページご主人に

+0

ASP.NET MVCの 'Page_PreRender'のようなコードビハインドイベントはありません。実際には、コードの後ろにも:-)はありません。コントローラー、モデル、ビューがあります。 –

+0

@ダーリンOK、勉強するのはいいですが、それでもクライアント側は唯一の選択肢ですか? –