如何设置 TragetContriID
到 HyperLink
在 GridView
里面?
我试过这个:
<asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server"
PopupControlID="Panel1"
CancelControlID="btnCancel"
OnCancelScript="HideModalPopup()"
TargetControlID="GridView1$HyperLink1">
</asp:ModalPopupExtender>
但我有一个错误:没有
GridView1$HyperLink1
最佳答案
设置 TargetControlID
的ModalPopupExtender
基本上是在点击控件时触发那个 ModalPopup 的客户端 Show 功能。所以你需要自己连接控件。
一、自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>
那么你应该映射
OnClientClick
您的 gridview
中的控件事件到这个 javascript 函数。从您的代码中,我看到您使用了 asp:HyperLink
,我认为它不支持OnClientClick
事件,因此您可能需要将其切换为 asp:LinkButton
.<asp:LinkButton ID="LinkButton1" runat="server"
OnClientClick="ShowModalPopup()" />
关于asp.net - 如何使用 GridView 中的控件在 ModalPopupExtender 中设置 TargetControlID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5922143/