DragPanelExtender无法正常工作

时间:2012-07-17 16:09:29

标签: asp.net ajax

我有一个简单的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>

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

这是对的吗?

麦克

1 个答案:

答案 0 :(得分:0)

我从未使用拖动面板,但我认为你的标记有问题。 DragHandleIDTargetControlID都设置为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>