c# - Unable to call Page Method using jQuery ajax -
i have created sortable listview using jqueryui , stuck in trying save database. here's how have created listview:
<asp:listview id="listviewitems" runat="server"> <layouttemplate> <div id="sortable1" class="connectedsortable"> <asp:placeholder id="itemplaceholder" runat="server"></asp:placeholder> </div> </layouttemplate> <itemtemplate> <li class="ui-state-default" id='id_<%# eval("item_id") %>'><%# eval("item_name") %></li> </itemtemplate> there button(div) under listview upon being clicked should save reordered list db:
<div class="btn-info" id="updateorder" onclick="sendupdatedorder()">update order</div> js file content:
function sendupdatedorder() { var order = $('#sortable1').sortable('toarray').join(',').replace(/id_/gi, ''); //alert(order); $.ajax({ type: "post", url: "~/adminedititems.aspx/updateruleorder", data: '{}', contenttype: "application/json; charset=utf-8", datatype: "json", success: onsuccess, failure: function (response) { alert(response.d); } });} i have created page method in adminedititems.aspx.cs -
[webmethod] public static void updateruleorder(string order) { ....do something... } upon execution updateruleorder method not getting called @ all. alerts put me in updateruleorder function of js getting called ajax method somehow not working. not able find out going wrong.
three things:
remove tilde , forward slash url i.e.
url: "adminedititems.aspx/updateruleorder", add argument in data i.e.
data: '{ "order" : "' + order + '"}', you need enablepagemethods in scriptmanager i.e.
<asp:scriptmanager runat="server" enablepagemethods="true"> update
i noticed not returning anything, change updateruleorder method return object , able access this:
var myobject = response.d; as within directory above url be:
url: "../adminedititems.aspx/updateruleorder",
Comments
Post a Comment