MVC (및 웹 개발)에 익숙하지 않습니다. 현재 MVC 5를 사용하고 있습니다.ASP.NET MVC 인덱스 작업이 모든 포스트 백에서 호출 됨
웹 응용 프로그램이 있으며 UI는 아래 스크린 샷과 같습니다. 기본적으로 이것은 단일 페이지 응용 프로그램이므로 상단의 라디오 버튼에서 사용자 선택에 따라 하단에 그리드를로드해야합니다. 최신을 클릭하면 최신 사용자 데이터가 눈금에 바인딩됩니다. 마찬가지로, historical가 선택되면 역사적인 데이터는 동일한 그리드에 바인딩됩니다.
HomeController.cs의 내 동작은 다음과 같습니다. 사용자가 기록 데이터 인해를 보는 경우 주석의 요청으로
public ActionResult Index()
{
var viewModel = new ViewModel();
List users = GetLatestUsers();
viewModel.Users = users;
return View(viewModel);
}
[HttpPost]
public ActionResult Filter(ViewModel postData)
{
List users = GetHistoricUsers();
viewModel.Users = users;
return View(viewModel);
}
그냥 더 정교한 것으로, 나는이
@Html.Grid(Model).Columns(columns =>
{
/* Adding not mapped column, that renders body, using inline Razor html helper */
columns.Add()
.Encoded(false)
.Sanitized(false)
.SetWidth(30)
.RenderValueAs(d =>
@<b>
@Html.ActionLink("Edit", "Index")
</b>);
/* Adding "OrderID" column: */
columns.Add(o => o.OrderID)
.Titled("Number")
.SetWidth(100);
/* Adding "Vip customer" column: */
columns.Add(o => o.Customer.IsVip)
.Titled("Vip customer")
.SetWidth(150)
.RenderValueAs(o => CustomRenderingOfColumn(o));
}).SetRowCssClasses(item => item.Customer.IsVip ? "warning" : string.Empty).WithPaging(15).Sortable().Filterable().WithMultipleFilters()
지금 직면하고있는 문제처럼 내보기 뭔가 그리드에 바인딩하고 Filter
작업의 경우 그리드에 기록 데이터를로드합니다. 사용자가 그리드의 페이지 매김 컨트롤을 사용하여 다음 페이지로 이동하면 포스트 백이 트리거되므로 인덱싱 작업을 수행하고 항상 최신 데이터를로드합니다. 이상적으로, 나는 동일한 페이지에 머물러 있어야하며 2 페이지에 표시 될 다음 역사적인 데이터를 보여 주어야합니다.
이 시나리오를 처리하는 방법을 도와주십시오.
FYI : 데이터 격자에는 Grid.Mvc을 사용하고 UI 컨트롤에는 Bottstrap을 사용하고 있습니다.
"바운드에 연결됨"은이 질문을 이해하기 위해 확장해야합니다. – spender
@spender보기에 그리드에 바인딩하는 방법에 대한 예제가 추가되었습니다. 또한 질문의 맨 아래에 메모로 Grid.MVC 데모에 대한 하이퍼 링크를 추가했습니다. 희망이 도움이됩니다. – utkarsh