C# 如何通过单击外部关闭ajax模式弹出窗口
我正在用c#asp.net写一个网页。该页正在使用母版页。我在页面中有一个ajax模式弹出窗口。我想为此弹出窗口添加2个功能:C# 如何通过单击外部关闭ajax模式弹出窗口,c#,asp.net,ajax,modalpopupextender,C#,Asp.net,Ajax,Modalpopupextender,我正在用c#asp.net写一个网页。该页正在使用母版页。我在页面中有一个ajax模式弹出窗口。我想为此弹出窗口添加2个功能: 当用户在模式弹出窗口外单击时,关闭弹出窗口 关闭模式弹出窗口后触发服务器端代码 关于stackoverflow也有类似的问题,但几乎所有问题都与jquery模式弹出窗口有关 这是我的密码: <asp:Button ID="Button1" runat="server" Style="display: none" /> <asp:ModalP
- 当用户在模式弹出窗口外单击时,关闭弹出窗口
- 关闭模式弹出窗口后触发服务器端代码李>
<asp:Button ID="Button1" runat="server" Style="display: none" />
<asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" OkControlID="btnOkay"
TargetControlID="Button1" PopupControlID="Panel1" PopupDragHandleControlID="PopupHeader"
Drag="true" BackgroundCssClass="ModalPopupBG">
</asp:ModalPopupExtender>
<asp:Panel ID="Panel1" runat="server" CssClass="PopupCss">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<table style="width: 100%; height: 825px;">
<tr>
<td>
<div id="mediaplayer">
JW Player goes here</div>
<script type="text/javascript">
jwplayer("mediaplayer").setup({
flashplayer: "jwplayer/player.swf",
file: "<%=videoName %>",
image: "<%=videoThumb %>",
width: "100%",
height: "100%"
});
</script>
</td>
<td valign="top" align="left" style="text-align: left;">
<div class="fb-like" data-send="true" data-layout="button_count" data-show-faces="true">
</div>
<br />
<div class="fb-comments" data-href="<%=videoLink%>" data-num-posts="3" data-width="470">
</div>
<br />
<br />
<br />
<!-- AddThis Button BEGIN -->
<div class="addthis_toolbox addthis_default_style ">
<a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2">
</a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4">
</a><a class="addthis_button_compact"></a><a class="addthis_counter addthis_bubble_style">
</a>
</div>
<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=ra-4f61d99d08697325"></script>
<!-- AddThis Button END -->
<br />
<br />
<asp:Rating ID="Rating1" runat="server" MaxRating="5" StarCssClass="ratingStar" FilledStarCssClass="ratingStarFilled"
AutoPostBack="false" OnChanged="VideoRatingChanged" EmptyStarCssClass="ratingStarEmpty"
WaitingStarCssClass="ratingStarEmpty">
<asp:HiddenField ID="HiddenField1" runat="server" Value='<%=videoId%>' />
</asp:Rating>
  (<%=voteCount%>)
<br />
Minder Score:
<%=minderScore %>
<br />
<div class="Controls" style="text-align: left;">
<input id="btnOkay" type="button" value="Kapat" />
</div>
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Panel>
任何帮助都将不胜感激。
感谢高级版。要使用javascript隐藏/显示modalpopuextender,请尝试:
function hidemodal() {
$find('ModalPopupExtender1').hide();
}
function showmodal() {
$find('ModalPopupExtender1').show();
}
您可以在单击事件或其他事件时引发该hidemodal()方法
您还可以在hidemodal()方法中添加代码,通过使用PageMethods从javascript调用服务器端脚本来触发服务器端函数。在网上查找关于asp.net页面方法的信息
function hidemodal() {
$find('ModalPopupExtender1').hide();
PageMethods.AnyServerFunction(param, onsuccess_callback);
}
function onsuccess_callback() {
}
关于,您可以在主体上绑定
单击事件,并设置e.stopPropagation()代码>单击内部,然后您可以检查单击的元素是否为弹出元素,如果是,则不执行任何操作,如果不是,则关闭弹出窗口您可以显示用于创建弹出窗口的代码吗-up@Jupaol我添加了代码。该小组有一个视频与社会插件,一个评级控制和facebook评论插件。Thank.hi,如何将模态外部的点击绑定到Hidemoal函数,以及在哪里调用该函数?谢谢。我认为很难在modal之外单击,因为MODALPOUP的本质是在modal关闭之前阻止访问父级。我能想到的一种方法是在body/formkeydown事件中捕捉ESC键,即使用javascript:function hidemodal(){var keycode=window.event.keycode;if(keycode==27){$find(“ModalPopupExtender1”).hide();}
function hidemodal() {
$find('ModalPopupExtender1').hide();
PageMethods.AnyServerFunction(param, onsuccess_callback);
}
function onsuccess_callback() {
}