asp.net – 将AJAX ModalPopupExtender定位在屏幕问题的中心
发布时间:2020-05-24 01:11:36 所属栏目:asp.Net 来源:互联网
导读:当设置了PopupDragHandleControlID属性(没有这个属性它可以正常工作)时,ModalPopupExtender定位在屏幕中心的问题. ModalPopupExtender没有位于屏幕中央. 我认为导致问题的原因是页面的CSS布局导致当我禁用它,弹出窗口位于屏幕的中心(我不明白为什么页面的CSS
|
当设置了PopupDragHandleControlID属性(没有这个属性它可以正常工作)时,ModalPopupExtender定位在屏幕中心的问题. ModalPopupExtender没有位于屏幕中央. 这一页: <!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>Untitled Page</title>
<link href="layout.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<div>
<div id="header">
</div>
<div id="container">
<div id="center" class="column">
<div id="centercolcontent" class="centercolcontent">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" >
<ContentTemplate>
<asp:Button ID="btnShowPopup" runat="server" Text="Open" />
<asp:Panel ID="pnlUploader" runat="server" CssClass="pnlUploader" style="display: none;">
<cc1:ModalPopupExtender ID="mdlPopup1" runat="server" TargetControlID="btnShowPopup"
PopupControlID="pnlUploader" CancelControlID="btnCancel"
BackgroundCssClass="modalBackground"
PopupDragHandleControlID="pnlUploader" RepositionMode="RepositionOnWindowResize" />
<div id="pnlDragMe" class="pnlDragMe">
Image Uploader
</div>
<div class="upload" id="upload">
<div id="status" class="info">
Please select a file to upload
</div>
<div class="commands">
<asp:Button ID="btnUpload" runat="server" Text="Upload"
OnClientClick="javascript:onUploadClick()" />
<asp:Button ID="btnCancel" runat="server" Text="Cancel" />
</div>
</div>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
<div id="left" class="column">
</div>
<div id="right" class="column">
</div>
<div id="footer">
</div>
</div>
</form>
</body>
</html>
CSS: body
{
min-width: 630px;
}
#container
{
padding-left: 200px;
padding-right: 150px;
}
#container .column
{
position: relative;
float: left;
}
#center
{
padding: 0px 0px;
width: 100%;
}
#left
{
width: 200px;
padding: 0 0px 0 0;
right: 200px;
margin-left: -100%;
}
#right
{
width: 130px;
padding: 0 10px;
margin-right: -100%;
}
#footer
{
clear: both;
}
* html #left
{
left: 150px; /* RC fullwidth */
}
/*** Equal-height Columns ***/
#container
{
overflow: hidden;
}
#container .column
{
padding-bottom: 1001em; /* X + padding-bottom */
margin-bottom: -1000em; /* X */
}
* html body
{
overflow: hidden;
}
* html #footer-wrapper
{
float: left;
position: relative;
width: 100%;
padding-bottom: 10010px;
margin-bottom: -10000px;
background: #FFF; /*** Same as body background ***/
}
body
{
margin: 0;
padding: 0;
}
#header,#footer
{
font-size: large;
text-align: center;
padding: 0.3em 0;
}
#left
{
/*background: #66F;*/
}
#center
{
background: #DDD;
}
.modalBackground
{
background-color: Gray;
filter: alpha(opacity=70);
opacity: 0.7;
}
解决方法模态弹出式面板获得绝对位置.所以它需要在一个具有非静态位置的元素中.在这种情况下,我希望它以页面为中心,所以我把它放在一个元素(在这种情况下是UpdatePanel,但它不关心什么样的元素),它具有内联样式的位置:fixed ;左:0;顶部:0.<asp:UpdatePanel ID="updProductPopup" runat="server" style="position:fixed;left:0;top:0;">
<contenttemplate>
<act:ModalPopupExtender ID="mpeProduct" runat="server" BackgroundCssClass="modalPopupBackground" BehaviorID="behaviourModalPopup" OkControlID="btnMpClose" PopupControlID="pnlModalPopup" PopupDragHandleControlID="pnlMpHandle" TargetControlID="btnMpHidden">
</act:ModalPopupExtender>
<!-- pnlModalPopup MUST have inline style display:none -->
<asp:Panel ID="pnlModalPopup" runat="server" CssClass="modalPopup" style="display:none;">
<asp:Panel runat="server" ID="pnlMpHandle" CssClass="modalPopupDragHandle">
Panel Header
</asp:Panel>
<asp:Panel runat="server" ID="pnlMpContent">Here's my content</asp:Panel>
<p class="modalPopupClose">
<a id="btnMpClose" href="#" class="custom-button">Close</a>
</p>
</asp:Panel>
<asp:Button ID="btnMpHidden" runat="server" Text="Button" CssClass="modalPopupHiddenButton" />
</contenttemplate>
我知道原来的问题是相当老的,但是我花了很多时间寻找这个问题的答案,没有找到它,这个问题在Google上相当高,所以希望这会节省别人一段时间. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 测试Oracle存储过程的最简单的方法
- asp.net – asmx webservices与REST兼容?
- asp.net-mvc – MVC Razor String Concat
- asp.net – 是否由子控件继承了EnableViewState属性?
- asp.net-mvc – 是否有一个ASP.NET MVC HtmlHelper的图像链
- asp.net – 为什么Jet OLEDB驱动程序缓存我的MDB文件?
- 404的ASP.NET自定义错误页面为http状态返回302
- 在Asp.net中运行外部可执行文件的内存限制
- asp.net-mvc – 无法加载文件或程序集System.Web.WebPages.
- asp.net – 从DropDownList中删除列表项
推荐文章
站长推荐
- asp.net-mvc – MVC 3 Url Helper提供不正确的UR
- asp.net-mvc-3 – 从剃刀视图引用资源文件
- asp.net – 移动ModalPopup在IFrame之外 可能?
- asp.net – 尝试为.mdf文件附加自动命名的数据库
- asp.net – 如何以编程方式从LDAP检索信息
- asp.net-mvc-3 – 如何在MVC3 / 4中的Html.Begin
- asp.net-mvc-4 – MVC 4 RC – Aspnet_regsql.ex
- ASP.NET自定义错误页面HTTP响应
- asp.net-mvc – ASP.NET MVC MultiSelectList,其
- asp.net-mvc – 用相同的动词重载asp.net MVC控制
热点阅读
