我正在使用AjaxControlToolKit 4.0(ASP.NET 4.0)的ModalPopupExtender,每一件事都运行正常,当我拖动ModalPopup时它正在拖动,但问题是它正在回弹到其原始位置(中心)。 相同的代码正在努力: http://www.asp.net/AjaxLibrary/AjaxControlToolkitSampleSite/ModalPopup/ModalPopup.aspx
我已经搜索过这个问题,但是所有的解决方案都是使用外部Java脚本代码给出的,但是在使用ASP.NET示例页面的相同代码时,遵循代码可能会出错。 (从我复制相同代码的地方)
这是我的代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm3.aspx.cs" Inherits="AjaxToolKitTest4.WebForm3" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Hello</title>
<link href="style.css" rel="stylesheet" />
</head>
<body>
<form id="form1" runat="server">
<ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></ajaxToolkit:ToolkitScriptManager>
<div>
<%--Start LinkButton to Show Modal Popup Form--%>
<asp:LinkButton ID="lnkAddForm" Text="Insert" runat="server" OnClick="lnkAddForm_Click"></asp:LinkButton>
<%--End LinkButton to Show Modal Popup Form--%>
<%--Start Panel for Modal Popup Form--%>
<asp:Panel ID="programmaticPopup" runat="server" CssClass="modalPopup" Style="display: none; width: 350px; padding: 10px;">
<asp:Panel runat="Server" ID="programmaticPopupDragHandle" Style="cursor: move; width:100%; background-color: #DDDDDD; border: solid 1px Gray; color: Black; text-align: center;">
Title Bar
</asp:Panel>
Content of Modal Form
</asp:Panel>
<%--End Panel for Modal Popup Form--%>
<%-- Start AjaxToolKit ModalPopupExtender for Panel --%>
<asp:Button runat="server" ID="hiddenTargetControlForModalPopup" Style="display: none" />
<ajaxToolkit:ModalPopupExtender
ID="programmaticModalPopup"
BehaviorID="programmaticModalPopupBehavior"
TargetControlID="hiddenTargetControlForModalPopup"
PopupControlID="programmaticPopup"
BackgroundCssClass="modalBackground"
DropShadow="false"
PopupDragHandleControlID="programmaticPopupDragHandle"
RepositionMode="RepositionOnWindowScroll"
runat="server">
</ajaxToolkit:ModalPopupExtender>
<%-- End AjaxToolKit ModalPopupExtender for Panel --%>
</div>
</form>
</body>
</html>
答案 0 :(得分:5)
模态弹出窗口使用表单的body
进行拖动。如果未正确设置主体的高度,则拖动将无法正常工作。
设置以下CSS样式,拖动应该有效。
html, body
{
margin: 0;
padding: 0;
height: 100%;
}
答案 1 :(得分:0)
在大多数情况下,设置PopupDragHandleControlID和Drag =“ true”应该足以拖拉并放置弹出窗口。如果弹出窗口跳回,也可能是浏览器。在我的情况下,相同的代码在Edge和Chrome中可以正常工作,可以在弹出窗口中移动弹出窗口并将其放置在预期的位置,但是在Internet Explorer中,弹出窗口在拖动时会移动,但在弹出窗口时会回到原始位置。
HTH!