Javascript 如何使用ModalPopupXtender在嵌套面板中激发OnClick事件?

Javascript 如何使用ModalPopupXtender在嵌套面板中激发OnClick事件?,javascript,c#,asp.net,updatepanel,modalpopupextender,Javascript,C#,Asp.net,Updatepanel,Modalpopupextender,我有以下情况: UpdatePanel1->UpdatePanel2->UpdatePanel3: 其中有一个GridView,具有以下列定义: <ItemTemplate> <asp:ImageButton ID="img_btnEdit" runat="server" AlternateText="Edit" CausesValidation="false" Height="15px" OnClientClick='<%#Eval("Tran

我有以下情况:

UpdatePanel1
->
UpdatePanel2
->
UpdatePanel3

其中有一个
GridView
,具有以下列定义:

<ItemTemplate>
    <asp:ImageButton ID="img_btnEdit" runat="server" AlternateText="Edit" 
        CausesValidation="false" Height="15px" OnClientClick='<%#Eval("TranValueId", "PopulateEditTransValuesMDPP({0}); return false;") %>' 
        ImageUrl="~/Images/document_edit.png" Width="15px" />
</ItemTemplate> 
以下是驻留在与
GridView
相同的
UpdatePanel
中的HTML代码的其余部分:

<asp:Label ID="hdnlblModalPopuphelper" runat="server" Text="" style="display:none;"></asp:Label> 
<asp:Button ID="btPopupLoad" runat="server" Text="Load" OnClick="btPopupLoad_Click" style="display:none;"  /> 
<ajaxToolkit:ModalPopupExtender ID="modppOpen" runat="server" TargetControlID="btPopupLoad" 
    PopupControlID="pnlModPPDefaultValueEditing"  BackgroundCssClass="modalBackground" OkControlID="btnCloseModalPopup"
    DropShadow="true" />
<asp:Panel ID="pnlModPPDefaultValueEditing" runat="server" CssClass="aspnetForm" Width="80%"> 
<asp:UpdatePanel ID="updpanEditDefaultValue" runat="server" UpdateMode="Conditional">
    <Triggers> 
        <asp:AsyncPostBackTrigger ControlID="btnSaveEditingTransValueDefaultValue" />
    </Triggers>
(...)

(...)
问题描述: 一切正常,除了没有触发
btPopupLoad
OnClick
事件(服务器端事件)

我使
OnClick
事件被触发的唯一方法是在其定义中设置
UseSubmitBehaviour=“false”
,但这会导致回发和
ModalPopup
消失。 因此,基本上我希望触发
OnClick事件
,同时保持
modalpoup
仍处于打开状态


请帮帮我?

我自己想出来的,所以如果有人遇到这种情况,我就是这么做的:

而不是

<ItemTemplate>
    <asp:ImageButton ID="img_btnEdit" runat="server" AlternateText="Edit" 
        CausesValidation="false" Height="15px" OnClientClick='<%#Eval("TranValueId", "PopulateEditTransValuesMDPP({0}); return false;") %>' 
        ImageUrl="~/Images/document_edit.png" Width="15px" />
</ItemTemplate> 
基本上,我所做的是替换使用隐藏按钮或标签的整个黑客方式,只需使用
gridview
RowCommand
CommandArguments
事件的
CommandArguments
直接点击按钮来提示modalpoup

<ItemTemplate>
    <asp:ImageButton ID="img_btnEdit" runat="server" AlternateText="Edit" 
        CausesValidation="false" Height="15px" OnClientClick='<%#Eval("TranValueId", "PopulateEditTransValuesMDPP({0}); return false;") %>' 
        ImageUrl="~/Images/document_edit.png" Width="15px" />
</ItemTemplate> 
<asp:ImageButton ID="img_btnEdit" runat="server" AlternateText="Edit" CommandArgument="<%# ((GridViewRow) Container).RowIndex %>" CommandName="Editing"  
CausesValidation="false" Height="15px" 
ImageUrl="~/Images/document_edit.png" Width="15px" />
protected void gvTransValues_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "Editing")
    {
        int index = Convert.ToInt32(e.CommandArgument);
        GridViewRow row = gvTransValues.Rows[index];

        //do whatever you need here

        modppOpen.Show();
    }
}