2011-08-04 15 views
2

にjQueryの機能を追加します。 例:は、私が(動的に)コントロールを作成して動的に生成されたコントロール(ASP.NET)

Button myButton = new Button(); 
myButton.Id = "button1"; 

...と、これまで..

だから、今、どのように私はこのボタンをjQuery関数を追加するのですか?このような

何かが私のために動作しませんでした:

$("#button1").live('click', function() { 
alert("hi iam getting dynamic added button");}); 

私は何ができますか? uの人は私を助けることができると思います:(クライアント側で

+0

があなたのボタンが動的に 'Page_Load'中に作成されますまたは後のイベント? – Curt

+0

はい、ボタンはpage_loadまたはPage_initで作成されていますが、動作しません..私は、ボタンが常に再生成されている原因を考えます:( – eMi

答えて

0

あなたがクリックされたコントロールのIDをとり、一般的なJS関数を作成することができ

function ShowMessage(){ 
    alert("hi iam getting dynamic added button"); 
} 

次にサーバ側

myButton.OnClientClick = "ShowMessage()"; 

あなたが戻ってポストを上げたくない場合:

myButton.OnClientClick = "ShowMessage();return false"; 
+0

thx 4答え、しかし、私はPage_Loadのボタンを作成するので、これもうまくいきません、私は彼をクリックするので、何も起こりません - ページがリロードされます(ポストバック) – eMi

+0

thx:D – eMi

0
myButton.OnClientClick = "clientFunction()"; 

function clientFunction() { 
} 
+0

thx 4答えですが、Page_Loadのボタンを作成するので、私は彼をクリックし、何も起こらない - ページをリロードする(ポストバック) – eMi

0

をページがクライアントにレンダリングされたとき、私は信じて、button1は、レンダリングされたIDに変更されます。私はそれがより良いボタンにクラスを追加し、それにjQueryのイベントを割り当てることだろうと思う。

のC#:

Button myButton = new Button(); 
myButton.Id = "button1"; 
myButton.CssClass = myButton.Id; 

Javascriptを:

$(".button1").live('click', function() { 
alert("hi iam getting dynamic added button");}); 
+0

thx 4 answer、yaa良いアイデアだけど、やっていない仕事の原因ポストバック..とにかく私はこれを使用することはできません、私は約100個のボタンを作成します。なぜなら、彼らは異なるIDを持っていて、各ボタンには別のイベントがあるはずです:D – eMi

+1

ポストバックはなぜ効果がありますか? – Curt

関連する問題