Я пытаюсь получить ajax-версию сортируемой работы.У меня есть этот Javascript:
<script src="/Scripts/jquery-ui/jquery.ui.widget.js" type="text/javascript"></script>
<script src="/Scripts/jquery-ui/jquery.ui.mouse.js" type="text/javascript"></script>
<script src="/Scripts/jquery-ui/jquery.ui.sortable.js" type="text/javascript"></script>
<script type="text/javascript">
// Sortable
$(document).ready(function () {
$("#sortThis").sortable({
handle: '.handle',
update: function () {
// get new order
var order = $('#sortthis').sortable('serialize');
// excecute ajax for db update
$.post(
"/find/ajaxactionhere",
order,
function (data) {
$("#info").html(data);
}
);
}
});
});
</script>
И этот HTML-код в моем представлении asp.net MVC:
<table>
<thead>
<tr>
<th>headers</th>
<th>headers</th>
</tr>
</thead>
<tbody id="sortThis">
<% foreach (var item in Model) %>
<% { %>
<tr id="list_<%: item.Tier %>">
<td>
<img class="handle" src="/sortIcon.gif" />
</td>
<td><%: item.data %></td>
</tr>
<% } %>
</tbody>
</table>
Это успешно позволяет мне изменить порядок всех строк таблицы.Мое действие по обработке пост-запроса ajax выглядит следующим образом:
[HttpPost]
public string ajaxactionhere(FormCollection form)
{
StringBuilder sb = new StringBuilder();
sb.Append(":: ");
if (form != null)
{
foreach (var key in form.AllKeys)
{
sb.Append(form[key]);
}
}
else
{
sb.Append("null");
}
return sb.ToString();
}
переменной javascript order
назначено $('#sortthis').sortable('serialize');
.Всякий раз, когда я отображаю order
, он говорит «[объект объекта]».Я не могу понять, как получить содержимое этого объекта в виде строки.
Любая помощь будет принята с благодарностью.