我有以下情形:如何使用ModalPopupExtender在嵌套面板中觸發OnClick事件?
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
應打開,但首先我需要檢索點擊行的boundfield。
JS功能:
function PopulateEditTransValuesMDPP(id) {
var btPopupLoad = document.getElementById('<%= btPopupLoad.ClientID %>');
var hdnlblModalPopuphelper = document.getElementById('<%= hdnlblModalPopuphelper.ClientID %>');
if (id != null) {
hdnlblModalPopuphelper.innerHTML = id;
}
btPopupLoad.click();
}
這裏是駐留在同一UpdatePanel
作爲GridView
的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>
(...)
問題描述: 一切工作正常,除了OnClick
事件(服務器端事件)的btPopupLoad
未觸發!
我做了OnClick
事件的唯一辦法炒魷魚是通過設置在其定義的UseSubmitBehaviour="false"
但是這造成了回傳和ModalPopup
自敗。 所以基本上我想OnClick Event
被觸發,並在同一時間保持ModalPopup
仍然打開。
請幫忙嗎?