Переупорядоченный список Ajax не перетаскивается
Я пытался заставить основной список переупорядочения работать, следуя этому руководству -> 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>
5 ответов
Просто предложение: посмотрите на интерфейс перетаскивания JQuery: http://jqueryui.com/demos/draggable/
Я использовал его со списками в течение довольно долгого времени, и это очень хорошо, и с SOOOO работать намного проще, чем с AjaxControlToolkit.
Просто предложение.
Хорошо, если кто-то наткнется на этот вопрос, так как он показывался в топе, когда я искал.
Проблема была та же, но ничего выше не решалось до тех пор, пока я не установил свойство в Reorderlist
ClientIDMode="AutoID"
Как только вы это сделаете, это должно работать.
Надеюсь, это поможет.
Добавьте это в тэг открытия и закрытия списка вашего заказа
<DragHandleTemplate>
<div class="ClsDragHandle">
</div>
</DragHandleTemplate>
Исправлена. Необходимо добавить это в 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>
Это проблема браузера, если весь код правильный, потому что у меня была та же проблема. Если вы просматриваете ту же страницу в Firefox, то если ваш код верен, он будет работать.