이 튜토리얼 here을 따르려고하지만 모달 내에서 실행하려고합니다. 기본적으로 모달 내부의 인덱스 뷰를 호출합니다 (모범 사례인지 확실하지 않음). 그러나 헤더를 정렬 할 때마다 또는 모달이 사라지고 페이지가 인덱스 뷰로 리디렉션됩니다. 이 일이 내가 가능한 일인지에 대한 것인가? 그렇지 않다면 다른 누군가가 대안을 제시 할 수 있을지 모르겠다.모달 정렬, 필터링 및 페이징
여기에는 모달을 호출하는 버튼이 포함되어 있습니다.
@model IEnumerable<ReconciliationApp.Models.IReconciliationForm>
<div class="img-responsive center-block" id="formButtons">
<div>
<div class="btn-group row col-sm-12">
<button type="button" class="btn btn-primary" data-toggle="modal" data-target=".browse-modal-lg">Browse</button>
</div>
<div class="btn-group row col-sm-12">
<button type="button" class="btn btn-primary">Modify</button>
<button type="button" class="btn btn-primary">Delete</button>
<button type="button" class="btn btn-primary">New</button>
</div>
</div>
</div>
<div class="modal fade browse-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title">Browse Members</h4>
</div>
<div class="container-fluid" style="padding-left: 50px;">
@Html.EditorForModel("Index")
</div>
</div>
</div>
</div>
여기, 내 인덱스보기
@model IEnumerable<ReconciliationApp.Models.CSReconForm>
@{
ViewBag.Title = "Modal";
}
<h2>CSRecon Browse</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table">
<tr>
<th>
@Html.ActionLink("Member ID", "Index", new { sortOrder = ViewBag.DateSortParm })
</th>
<th>
@Html.ActionLink("Brand ID", "Index", new { sortOrder = ViewBag.MemberSortParm })
</th>
<th>
@Html.ActionLink("First Name", "Index", new { sortOrder = ViewBag.BrandSortParm })
</th>
<th>
@Html.ActionLink("Last Name", "Index", new { sortOrder = ViewBag.FirstNameSortParm })
</th>
<th>
@Html.ActionLink("Processed By", "Index", new { sortOrder = ViewBag.LastNameSortParm })
</th>
<th></th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.MemberID)
</td>
<td>
@Html.DisplayFor(modelItem => item.BrandID)
</td>
<td>
@Html.DisplayFor(modelItem => item.FirstName)
</td>
<td>
@Html.DisplayFor(modelItem => item.LastName)
</td>
<td>
@Html.DisplayFor(modelItem => item.ProcessedBy)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.Id }) |
@Html.ActionLink("Details", "Details", new { id = item.Id }) |
@Html.ActionLink("Delete", "Delete", new { id = item.Id })
</td>
</tr>
}
</table>
그리고
당신이 유용 할 수 있다고 생각 다른 것이 있다면
public class CSReconFormsController : ApplicationBaseController
{
private ReconciliationContext db = new ReconciliationContext();
private ApplicationDbContext adb = new ApplicationDbContext();
// GET: CSReconForms
public ActionResult Index(string sortOrder)
{
var usersContext = new ApplicationDbContext();
var users = usersContext.Users.Select(u => u.UserName).ToList();
ViewBag.Users = users;
ViewBag.Title = "Modal";
ViewBag.DateSortParm = String.IsNullOrEmpty(sortOrder) ? "dateCreated_desc" : "";
ViewBag.MemberSortParm = sortOrder == "MemberId" ? "memberId_desc" : "MemberId";
ViewBag.BrandSortParm = sortOrder == "BrandId" ? "brandId_desc" : "BrandId";
ViewBag.FirstNameSortParm = sortOrder == "FirstName" ? "firstName_desc" : "FirstName";
ViewBag.LastNameSortParm = sortOrder == "LastName" ? "lastName_desc" : "LastName";
var reconForms = from s in db.CSReconForms select s;
switch (sortOrder)
{
case "MemberId":
reconForms = reconForms.OrderBy(s => s.MemberID);
break;
case "memberId_desc":
reconForms = reconForms.OrderByDescending(s => s.MemberID);
break;
case "BrandId":
reconForms = reconForms.OrderBy(s => s.BrandID);
break;
case "brandId_desc":
reconForms = reconForms.OrderByDescending(s => s.BrandID);
break;
case "FirstName":
reconForms = reconForms.OrderBy(s => s.FirstName);
break;
case "firstName_desc":
reconForms = reconForms.OrderByDescending(s => s.FirstName);
break;
case "LastName":
reconForms = reconForms.OrderBy(s => s.LastName);
break;
case "lastName_desc":
reconForms = reconForms.OrderByDescending(s => s.LastName);
break;
case "dateCreated_desc":
reconForms = reconForms.OrderByDescending(s => s.WhenCreated);
break;
default:
reconForms = reconForms.OrderBy(s => s.WhenCreated);
break;
}
return View(reconForms.ToList());
}
...
}
을 사용하고 내 컨트롤러의 일부입니다 그냥 마음 편하게 물어봐! 미리 감사드립니다!
모달을 사용하고 동일한 페이지에 남아, 다음 부분 뷰를 반환하는 방법에'sortOrder' 값을 게시하는 아약스를 사용하고 (성공 콜백에서 DOM을 업데이트하려면 리디렉션을하는 링크가 아님) –