1
변경을 인식하도록 모델 바인더를 가져 오려고합니다. 내가 여기서 무엇을 놓치고 있는지 잘 모르겠습니다. 기본적으로 초기 페이지 채우기는 데이터베이스에서 페이지 번호를 가져옵니다. 그런 다음 정렬 가능한 작업을 수행하고 Firebug의 원시 HTML은 순서 변경을 보여줍니다. 하지만 모델에 처음 게시 할 때 게시 방법을 알아 내지 못하고 다른 문제는 설문 조사입니다. 페이지 순서가 변경되지 않은 것 같습니다.ASP.NET MVC 컨트롤러에 Jquery 정렬 가능한 인덱스 변경
보기
@for (var i = 0; i < Model.Pages.Count; i++)
{
var page = Model.Pages.ElementAt(i);
@Html.Hidden("Pages[" + i + "].PageId", page.PageId, new { @class = "page_index" })
@Html.Hidden("Pages[" + i + "].PageNumber", page.PageNumber)
<li id="@page.PageId" class="sortable-item text-center ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s">
</span>@page.PageNumber</li>
}
</ul>
자바 스크립트
<script type="text/javascript">
$(document).ready(function() {
$('.sortable').sortable({
stop: function (event, ui) {
var formData = $('#editSurveryForm').serialize();
$.ajax({
url: "@Url.Action("Edit")",
data: formData,
type: 'POST',
traditional: true,
success: function() {
alert("success");
},
error: function() {
alert("fail");
}
}
);
}
});
});
</script>
컨트롤러
[HttpPost]
public ActionResult Edit(Survey survey)
{
if (!ModelState.IsValid)
{
return View("EditSurvey", survey);
}
surveyRepository.UpdateSurvey(survey);
return RedirectToAction("Index", "Administration");
}