2012-02-22 8 views
1

ImageButton IDを取得してjqueryダイアログを開く方法を教えてください。GridView内のImageButtonからjQueryダイアログを開くには?

ImageButton IDをハードタイピングすると、正常に動作します。すなわち

$('#ContentPlaceHolder1_GridView1_linkPasswordEdit_0').click(function() { 
    $('#dialog-modal2').dialog('open'); 
    return false; 
}); 

ただし、私はGridViewのすべてのImageButtonでこれを行いたいと思います。任意の助けをいただければ幸いです

<asp:TemplateField ShowHeader="False"> 
<ItemTemplate> 
<asp:ImageButton ID="linkPasswordEdit" runat="server" CausesValidation="false" OnCommand="passwordEditCommand" 
    CommandArgument='<%#Eval("id")%>' ToolTip="Click to edit password" ImageUrl="~/Images/imagesActions/password_edit.png" 
    AlternateText='<%#Eval("userName")%>' /> 
</ItemTemplate> 
</asp:TemplateField> 

:これはのImageButtonのように見えるものである

$('#' + '<%# ContentPlaceHolder1.GridView1.((GridViewRow)Container).FindControl("linkPasswordEdit").ClientID %>').click(function() { 
    $('#dialog-modal2').dialog('open'); 
    return false; 
}); 

$('#ContentPlaceHolder1_GridView1_' + '<%# linkPasswordEdit.ClientID %>').click(function() { 
    $('#dialog-modal2').dialog('open'); 
    return false; 
}); 

または:私のようなさまざまな方法を試してみました。

答えて

4

画像ボタンにカスタムCSSクラス(画像ボタンを見つけるだけで使用)を割り当て、JQueryクラスセレクタを使用して関連付けを行うのはなぜですか。

$('.imageButtonFinderClass').click(function() { 
    $('#dialog-modal2').dialog('open'); 
    return false; 
}); 


<asp:TemplateField ShowHeader="False"> 
<ItemTemplate> 
<asp:ImageButton ID="linkPasswordEdit" runat="server" CausesValidation="false" OnCommand="passwordEditCommand" CssClass="imageButtonFinderClass" 
    CommandArgument='<%#Eval("id")%>' ToolTip="Click to edit password" ImageUrl="~/Images/imagesActions/password_edit.png" 
    AlternateText='<%#Eval("userName")%>' /> 
</ItemTemplate> 
</asp:TemplateField> 
+0

ありがとうございました。どういうわけか私はこの可能性を考えなかった。どのリンクがクリックされたのか、どのリンクがダイアログを開いているのかを特定するにはどうすればいいでしょうか? jqueryダイアログの<%#Eval( "id")%>をパラメータとして取得する必要があります。前もって感謝します! – aleafonso

+0

これを試す:http://stackoverflow.com/questions/48239/getting-the-id-of-the-element-that-fired-an-event-using-jquery – swannee

+0

この場合、データを評価することができます"Id"をカスタムアトリビュートに追加し、上のポストへの回答のいくつかの指示に従ってください。基本的に、JQueryの.attrメソッドを使用してカスタム属性から値を取得します。 – swannee

関連する問題