0

我有一个简单的 ASP.NET 表单,我用它来学习一些 AJAX 控件。

我的代码是:

<form id="form1" runat="server">
<ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</ajaxToolkit:ToolkitScriptManager>
<div>
    <div style="height: 300px; width: 250px; float: left; padding: 5px;">
        <asp:Panel ID="Panel1" runat="server" Width="250px">
            <asp:Panel ID="Panel2" runat="server" Width="40%" Height="20%" BorderWidth="1px"
                BorderStyle="Solid" BorderColor="black">
                Drag This Panel
            </asp:Panel>
        </asp:Panel>
    </div>
</div>
<ajaxToolkit:DragPanelExtender ID="Panel1_DragPanelExtender" BehaviorID="DragP1"
    DragHandleID="Panel1" TargetControlID="Panel1" runat="server">
</ajaxToolkit:DragPanelExtender>
</form>

我的问题是,当我拖动面板时,它不会停留在我离开它的地方。它立即向后移动。它不应该留在我离开的地方吗?我很感激如果我回发它会退回,但我会留在页面上,不会产生新的事件。

这是正确的吗?

麦克风

4

1 回答 1

0

我从未使用过拖动面板,但我认为您的标记有问题。DragHandleID和都TargetControlID设置为 Panel1 这是错误的。

DragHandleID="Panel1" TargetControlID="Panel1" 

根据 Ajax 站点上的示例,它的标记是http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/DragPanel/DragPanel.aspx

<ajaxToolkit:DragPanelExtender ID="DPE1" runat="server"
TargetControlID="Panel3"
DragHandleID="Panel4" />

在上面的标记中,他们为 targetControlID 和 DragHandleID 使用了不同的面板,因此您应该将标记更新为

<ajaxToolkit:DragPanelExtender ID="Panel1_DragPanelExtender" BehaviorID="DragP1"
   DragHandleID="Panel1" TargetControlID="Panel2" runat="server">
</ajaxToolkit:DragPanelExtender>
于 2012-07-17T16:37:49.113 回答