none
ModalPopupExtender使用后,无法拖动。 RRS feed

  • 问题

  • <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
    
    <!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>测试</title>
      <style type="text/css">
        .modalBackground {
        background-color:grey;
        filter:alpha(opacity=70);
        opacity:0.7;
        }
        .modalPopup {
          background-color:#ffffdd;
          border-width:3px;
          border-style:solid;
          border-color:Gray;
          padding:3px;
          width:196px;
          cursor: move;
        }
      </style>
    </head>
    <body>
      <form id="form1" runat="server">
      <div>
        <ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" />
        <asp:LinkButton ID="LinkButton1" runat="server" Text="测试" />
        <asp:Panel ID="Panel1" runat="server" CssClass="modalPopup" Style="display: none">
        <asp:Panel ID="Panel2" runat="server">
            <h2 style="border:red 1px dashed; margin:0px">标题栏</h2>
        </asp:Panel>
        <asp:DropDownList ID="DropDownList1" runat="server">
          <asp:ListItem>a</asp:ListItem>
          <asp:ListItem>b</asp:ListItem>
          <asp:ListItem>c</asp:ListItem>
          <asp:ListItem>d</asp:ListItem>
        </asp:DropDownList>
          <br /><br />三生三世斯斯文文<asp:Button ID="btnOK" runat="server" Text="关闭" />
        </asp:Panel>
        <ajaxToolkit:ModalPopupExtender 
          ID="ModalPopupExtender" runat="server" 
          TargetControlID="LinkButton1"
          PopupControlID="Panel1" 
          BackgroundCssClass="modalBackground" 
          CancelControlID="btnOK" 
          PopupDragHandleControlID="Panel2"
          DropShadow="true" />
      </div>
      </form>
    </body>
    </html>
    仿照微软给的例子,写的。就是拖动不好使,原因在哪,望高手指点!
    2010年5月14日 2:15

答案

  • 我也测试了你的代码,的确无法拖动。

    测试了半天,找到原因了。

    把下面这段代码加到你的页面文件的后面。

    <script type="text/javascript">
        // The following snippet works around a problem where FloatingBehavior
        // doesn't allow drops outside the "content area" of the page - where "content
        // area" is a little unusual for our sample web pages due to their use of CSS
        // for layout.
        function setBodyHeightToContentHeight() {
          document.body.style.height = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight) + "px";
        }
        setBodyHeightToContentHeight();
        $addHandler(window, "resize", setBodyHeightToContentHeight);  
      </script>

    Microsoft Online Community Support
    2010年5月18日 3:56

全部回复

  • 你用的是什么版本? 我测试了你代码的正常


    77138191qq群 .net与asp.net
    2010年5月14日 9:52
  • VS2005 .net2.0 IE8
    2010年5月15日 8:35
  • 我也测试了你的代码,的确无法拖动。

    测试了半天,找到原因了。

    把下面这段代码加到你的页面文件的后面。

    <script type="text/javascript">
        // The following snippet works around a problem where FloatingBehavior
        // doesn't allow drops outside the "content area" of the page - where "content
        // area" is a little unusual for our sample web pages due to their use of CSS
        // for layout.
        function setBodyHeightToContentHeight() {
          document.body.style.height = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight) + "px";
        }
        setBodyHeightToContentHeight();
        $addHandler(window, "resize", setBodyHeightToContentHeight);  
      </script>

    Microsoft Online Community Support
    2010年5月18日 3:56
  • 能解释下原理吗?
    2010年5月18日 8:11
  • 上面的注释已经解释了原因,body的高度取最大高度。
    Microsoft Online Community Support
    2010年5月20日 3:20
  •  

    我也遇到了这个问题

     

    解决了


    大其心,可容天下之物; 虚其心,可受天下之善;
    2010年7月12日 3:59