AJAX :: How To Get A Reorder List To Save Back To The Database
Dec 24, 2010
I've just discovered the AJAX ReOrder list. So far, I've been able to pull data from the DB, and in the browser I can reorder the items; but how do I save the new order? Here's my code so far:
I have the same problem as Simon in this post. He found out some sort of a solution, but it does not work for me. Please, could someone explain me what is going on in this answer or advice me something else. PS: there is an example on the asp.net site which doesn't work exactly the same way as my reorder list... (click view a demo) The solution that is suggested here adds these few lines to web.config:
[Code]....
Perhaps I just need to change something to make it work... but I don't know what. For example I have no idea what the ScriptResource.axd is supposed to be. My code: .aspx file
[Code]....
and the code behind
[Code]....
I load the data to the List collection from the page_load event but that works fine. The data binding works as well. The problem is in that the items cannot be reordered -- during the reordering, the sort value doesn't change and the list doesn't update.
I have the same problem as Simon in this post. He found out some sort of a solution, but it does not work for me. Please, could someone explain me what is going on in this answer or advice me something else. PS: there is an example on the asp.net site whh doesn't work exactly the same way as my reorder list... (click view a demo) The solution that is suggested here adds these few lines to web.config:
Perhaps I just need to change something to make it work... but I don't know what. For example I have no idea what the ScriptResource.axd is supposed to be. My code: .aspx file
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.IO; namespace WebPageEditor.editor { public class MenuSourceManager { public static List<MenuItem> menuItems; #region DataBindMethods //[System.ComponentModel.DataObjectMethod(System.ComponentModel.DataObjectMethodType.Select)] public List<MenuItem> SelectMenu() { return menuItems; } public void UpdateMenu(int ID, string name, string url, int order) { menuItems[ID].Name = name; menuItems[ID].Url = url; menuItems[ID].Order = order; } public void InsertMenu(string name, string url, int order) { menuItems.Add(new MenuItem(name, url, order, menuItems.Count)); } public void DeleteMenu(int ID) { menuItems.RemoveAt(ID); } #endregion } public class MenuItem { public MenuItem(string name, string url, int order, int ID) { Name = name; Url = url; Order = order; this.ID = ID; } public string Name { get; set; } public string Url { get; set; } public int Order { get; set; } public int ID { get; set; } } }
I load the data to the List collection from the page_load event but that works fine. The data binding works as well. The problem is in that the items cannot be reordered -- during the reordering, the sort value doesn't change and the list doesn't update.
I' m using Reorder list sample for the first time. When it is bound with datasource, and reordered it is working fine. but unfortunately on postback to the server, i',m not getting the reordered items.
Im using a toolkit reorder list control. Im using LINQ2SQL. I have troubles making the order changes in the list to be updated to the database. This is my aspx code:
[Code]....
The drag and drop reordering works fine. In my
[Code]....
But no changes to the order are visible. What is missing?
Reorder list control cannot be set to not postback? My hope for this control was that I could tie it to a list of data (either a datasource or even a manually created list) and then allow the user to move the items in the list up and down until they liked the new order of all of the elements. They then would click a button to save the updates to the database. Is this possible? It seems that after every reorder there is a postback requried to the datasource to perform an UPDATE, even if the PostBackOnReorder
="false" value is set.
So if my list is
1 Atlanta 2 Boston 3 Chicago 4 Denver 5 Edmonton
and they want to switch Denver with Boston and then hit the Update List button I could cycle through the list an only update two entries rather than all 5 entries twice (for each Postabk on reorder)
I have an issue with the appearance of my reorder list. The draghandle div is outside of the item template div. I have used the reorder list in the past and the draghandle was always inside of the item template. I can't seem to find any mistakes so is this a bug or do I have a mistake somewhere. All other functionality works great. Here is the code.
I did the tutorial for the ReorderList on the asp.net site: http://www.asp.net/ajax/tutorials/drag-and-drop-via-reorderlist-cs and everything works perfectly. But for some reason when I switch out the references and use the same code for my db table the changes aren't saving. In other words when I use the db table called 'AJAX' that I created based on the tutorial everything works perfectly, but when I use it on my table ('projects') the changes don't save to the db. I can't think of anything in the db that would be causing this to happen.
I am using reorderlist for the first time and I am having trouble getting to display like the default look I see at ajax toolkit examples webpage. Also, when I try to click on it and move any row nothing happens. I have a MSSQL table that has the following 4 fields
I'm using a reorderlist (Ajax Control Toolkit Release 4.1.40412.2) inside a scrolling div (class="reorderListDemo" style="overflow:scroll; height:225px; width:1300px; table-layout:fixed; text-align:left;"). When the height of the reorderlist is greater than the height of the div, the div will automatically have a vertical scrollbar. The problem is that when i scroll down to drag an item from the bottom of the reorderlist, the reorderlist does not work properly. The drag image and the drop target does not correspond to the item i want to move.I've attached a copy of my css file:
I have three reorder lists on a page, one does not want to work. It is no different to the others, but is behaving like it is not enabled.All working fine in IE 7 + 8.
I have tried several examples of reorder list with several types of data sources and can't get the list to reorder. I have copied Joe Stagner's code from his Video on Reorder Control with the same result. Here is the Video
http://www.asp.net/ajax/videos/how-do-i-the-ajax-toolkit-reorder-control. Page loads, but I can't drag items to reorder. I have tried this with explorer 8 and firefox 3.6, with and without security. Here is the markup, no code behind.
[Code]....
Some of the events don't seem to fire. DataBinding, DataBound, Load, and InsertCommand work ItemReorder does not, (not good for a reorder control). This control should work, but doesn't. I am able to insert data so it seems that the reorder or dragItem templates maybe causing problems. I have commented out but that doesn't help. Here is my only clue, I had to use the script manager from the .net4 Ajax Control Kit for my events to not complain about definitions. I was only using these events with debugger just to see if they are being called, no code in methods. But I am using the toolkit.dll that came with Joe's example. I tried it with .net4 only first, but that didn't work either that's when I installed the dll from Joe's example.
The AjaxToolkit has a ReorderList. I'm searching for a jQuery solution that does the same and found this page. I would like to change the order of divs (vertically) and upload the new order to the database (ajax).
could any body explain me how can i save state of two list boxes on post back i am using jQuery of this kind i dont know on what event what should i do or where can i save view state or how can i use hiddenField to persist the state of both list box
Introduction:In modified list page I have html controls to filter data in table. By default data in main table is not filtered. This page can view and filter data authenticated && non-authenticated users. For storing membership information I use ASP.NET membership.
Question: My Simple Grid table:
<table> <thead> <tr>[code]...
Also have simple html elements to filter data in upper table after button click. After user click on "City name" page redirrects to Details Page. And in Details page user can click on button Back to List. How to save previous filter options, when user clicked on back to list button. Now in when user clicked on btn "back to List",
table loaded with default data (it is bad).
Aim: How to realize saving previous post for registered and unregistered users, if this tables more in other pages (not one).
Also, how to realize saving optional parameters registered users.
There are a few posts on the site about how to order by using lambda expressions however I cannot seem to get mine to work. I am trying to reorder a list that is already populated. Am i wrong in thinking that i can rearrange the order of this list using lambada expressions?
I'm attempting to use the List Reorder from here: [URL] I've got all the scripts in place, and my events are firing properly on dragging/dropping, but I'm unable to see anything in my object. The goal is to reorder the list, and save the new order back to the DB. I am assuming something is wrong with my syntax in the lists.bind, as it shows the actual items in the list, but the values are empty.
$(document).ready(function () { var options = { itemHoverClass: 'itemHover', dragTargetClass: 'dragTarget', dropTargetClass: 'dropTarget', useDefaultDragHandle: true }; var lists = $('.lists').ListReorder(options); var items = []; lists.bind('listorderchanged', function (evt, jqList, listOrder) { for (var i = 0; i < listOrder.length; i++) { items[i] = $("ul li:eq(" + i + ")").attr('id'); } }); $('#btnSave').click(function () { if (items.length > 0) { var jsonText = JSON.stringify({ items: items }); $.ajax({ type: "POST", url: 'ManageSliders.aspx/SaveReOrder', data: jsonText, contentType: "application/json; charset=utf-8", dataType: "json", success: function () { $("#result").html("New order saved successfully"); }, failure: function (msg) { alert(msg); } }); } else { alert("You have made no changes"); } }); });
I'm binding a listview using C# and that is showing up fine as well.
I ran it through Fiddler, and it is throwing me this error:
{"Message":"Cannot convert object of type u0027System.Stringu0027 to type u0027System.Collections.Generic.List1[System.String]u0027","StackTrace":" at System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeInternal(Object o, Type type, JavaScriptSerializer serializer, Boolean throwOnError, Object& convertedObject) at System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeMain(Object o, Type type, JavaScriptSerializer serializer, Boolean throwOnError, Object& convertedObject) at System.Web.Script.Services.WebServiceMethodData.StrongTypeParameters(IDictionary2 rawParams) at System.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams(Object target, IDictionary2 parameters) at System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext context, WebServiceMethodData methodData, IDictionary2 rawParams) at System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)","ExceptionType":"System.InvalidOperationException"}
I have an AJAX Reorder List control, which is working fine. I want to add an "Edit" hyperlink to the ItemTemplate (which I have done) that opens an AJAX Modal Window when it's clicked. I need to add an OnClick attribute to call a javascript function and pass the value for the ID of the object bound to the list. I have done this before with a gridview with no problem - I just need to add code like this to RowDataBound event: If e.Row.RowType = DataControlRowType.DataRow Then Dim HyperLink1 As HyperLink = e.Row.FindControl("HyperLink1") HyperLink1.Attributes.Add("onclick", "ShowPopup('" & myGridControl.DataKeys(e.Row.RowIndex).Value & "')")
I am using a Reorder list. I had a requirement that i have to drag a record from the reorder list to another control(may be list control or grid view). Is it possible like that?