【发布时间】:2015-07-01 13:08:08
【问题描述】:
我有以下场景:
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>
点击后,ModalPopupExtender 应该会打开,但首先我需要检索点击行的边界字段。
JS函数:
function PopulateEditTransValuesMDPP(id) {
var btPopupLoad = document.getElementById('<%= btPopupLoad.ClientID %>');
var hdnlblModalPopuphelper = document.getElementById('<%= hdnlblModalPopuphelper.ClientID %>');
if (id != null) {
hdnlblModalPopuphelper.innerHTML = id;
}
btPopupLoad.click();
}
以下是与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 Event 被触发,同时保持ModalPopup 仍然打开。
请帮忙?
【问题讨论】:
标签: javascript c# asp.net updatepanel modalpopupextender