設置TargetControlID
的ModalPopupExtender
的基本觸發ModalPopup的客戶端顯示功能,當控制點擊。所以你需要自己連接控制。
首先,由於ModalPopupExtender
需要TargetControlID
,你應該添加一個虛擬控制的模式彈出鏈接:
<asp:Button runat="server"
ID="HiddenTargetControlForModalPopup"
style="display:none"/>
和鏈接ModalPopupExtender
TargetControlID
它
<asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server"
PopupControlID="Panel1"
CancelControlID="btnCancel"
OnCancelScript="HideModalPopup()"
TargetControlID="HiddenTargetControlForModalPopup">
</asp:ModalPopupExtender>
所以ModalPopupExtender
現在有一個什麼都不做的目標。現在我們需要完成目標的工作。你需要一個JavaScript函數來顯示來自客戶端的ModalPopup。
<script type="text/javascript">
var ModalPopup='<%= ModalPopupExtender1.ClientID %>';
function ShowModalPopup() {
// show the Popup
$find(ModalPopup).show();
}
</script>
那麼你應該在你的gridview
的OnClientClick
事件控制映射到這個javascript函數。從你的代碼中,我看到你使用了asp:HyperLink
,我不認爲它支持OnClientClick
事件,所以你可能需要將它切換到asp:LinkButton
。
<asp:LinkButton ID="LinkButton1" runat="server"
OnClientClick="ShowModalPopup()" />
嗨我正在使用您的代碼,但我得到一個錯誤.. Microsoft JScript運行時錯誤:Sys.ArgumentNullException:值不能爲空。 參數名稱:處理器 – software 2013-04-15 14:48:25
請讓我知道如何解決這個 – software 2013-04-15 14:48:56
對我來說工作得很好,經過很好測試的解決方案。你的錯誤可能在別的地方。嘗試調試以查看錯誤發生的位置。 – DavRob60 2013-04-15 14:55:52