我一直在尝试按照本指南获取基本的重新订单 - > http://www.asp.net/LEARN/Ajax-Control-Toolkit/tutorial-40-vb.aspx。我在浏览器中尝试了一个演示版本,因此它不是浏览器问题。
我在asp.net 2.0上安装了AjaxControlToolkit,DLL文件在Bin文件夹中。
然而,当我运行页面时 - 我得到了我期望的列表,但没有任何东西可以拖动,我看不出我的错误。它将成为一个更复杂的页面的一部分,但我把它带到一个简单的页面来解决问题。
任何人都有任何想法,我在这里可能有什么不对吗?
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ajaxtest.aspx.cs" Inherits="Admin_ST_ajaxtest" %>
<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
Namespace="System.Web.UI" TagPrefix="asp" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<!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>
<link href="AdminCSS.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:SqlDataSource ID="SqlDataSource_LensCatList2" runat="server"
ConnectionString="<%$ ConnectionStrings:VS_ConnectionString %>" OldValuesParameterFormatString="original_{0}"
ProviderName="<%$ ConnectionStrings:VS_ConnectionString.ProviderName %>"
DeleteCommand="DELETE FROM [Specs_LensDetailsTbl] WHERE [DBID] = ?"
SelectCommand="SELECT Specs_LensDetailsTbl.DBID, Specs_LensDetailsTbl.LensName, Specs_LensCatLookupTbl.OrderNum, Specs_LensCatLookupTbl.Active FROM Specs_LensDetailsTbl LEFT OUTER JOIN Specs_LensCatLookupTbl ON Specs_LensDetailsTbl.DBID = Specs_LensCatLookupTbl.LensDBID WHERE (Specs_LensCatLookupTbl.CatDBID = 1) ORDER BY Specs_LensCatLookupTbl.OrderNum"
UpdateCommand="UPDATE Specs_LensDetailsTbl SET OrderNum=@OrderNum WHERE [DBID]=@original_id">
<UpdateParameters>
<asp:Parameter Name="OrderNum" Type="Int32" />
<asp:Parameter Name="original_id" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>
<cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" EnablePartialRendering="true">
</cc1:ToolkitScriptManager>
<cc1:ReorderList ID="ReorderList1" runat="server" AllowReorder="True"
DataSourceID="SqlDataSource_LensCatList2" PostBackOnReorder="False"
DataKeyField="DBID" SortOrderField="OrderNum">
<DragHandleTemplate>
<div class="DragHandleClass">
</div>
</DragHandleTemplate>
<ItemTemplate>
<asp:Label ID="LensNameLabel" runat="server" Text='<%# Eval("LensName") %>' />
</ItemTemplate>
</cc1:ReorderList>
</div>
</form>
</body>
</html>
答案 0 :(得分:14)
好的,如果有人偶然发现这个问题,因为它在我搜索时显示为顶部。
问题是一样的,但直到我在重新订单列表
上设置了一个属性之前,没有任何修正ClientIDMode="AutoID"
一旦你这样做,就应该有效。
希望有所帮助。
答案 1 :(得分:3)
只是一个建议:查看JQuery的拖放UI:http://jqueryui.com/demos/draggable/
我已经将它与列表一起使用了很长时间,它非常好用,而且比AjaxControlToolkit更容易使用。
只是一个建议。
答案 2 :(得分:1)
固定。需要将其添加到web.config
<httpHandlers>
<add path="ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>
答案 3 :(得分:1)
在重新订购列表开始和结束标记
中添加此内容<DragHandleTemplate>
<div class="ClsDragHandle">
</div>
</DragHandleTemplate>
答案 4 :(得分:0)
如果所有代码都正确,这是一个浏览器问题,因为我有同样的问题。如果您在firefox中查看同一页面,那么如果您的代码是正确的,那么它将起作用。