저는 ASP MVC 3을 처음 접했고 다음과 같은 질문이 있습니다. 서버에 데이터를 보내기 위해 자체적으로 게시물 요청을하는 양식이 있습니다. 양식에는 Sales People의 DropDownList가 들어 있으며이 목록은 데이터베이스에서 채워집니다. 주요 활동은 다음과 같습니다ASP MVC 3에서 DropDownList를 채우는 컬렉션을 잃지 않는 방법은 무엇입니까?
public ActionResult Index()
{
var viewModel = new OrderSearchViewModel();
viewModel.SalesPeople = GetSalesPeopleList(); // This queries the DB
return View(viewModel);
}
을 그리고 뷰 모델은 다음과 같습니다
public class OrderSearchViewModel
{
public string Id { get; set; }
public DateTime? StartDate { get; set; }
public DateTime? EndDate { get; set; }
public string PostCode { get; set; }
public int SalesPersonId { get; set; }
public string SalesPersonRef { get; set; }
public int OrderType { get; set; }
public string SerialNo { get; set; }
public string CustomerPO { get; set; }
public List<SalesPerson> SalesPeople { get; set; }
}
그래서 인덱스보기에서 나는 지수 (영업 사원리스트가 null로 설정되어있는 양식을 제출할 때 HttpPost 메서드)를 사용하고 여전히 채워지는 목록과 동일한 뷰를 표시하려고합니다. 그럼에도 불구하고 이렇게하려면 데이터베이스를 다시 쿼리해야합니다. 이 일을 피하는 것이 가장 좋은 방법입니까?
편집 : - 그런 식으로
[HttpPost]
public ActionResult Index(OrderSearchViewModel viewModel)
{
var result = QueryOrders(viewModel);
//code update the model with the results
return View(viewModel);
}
왜 데이터베이스를 다시 쿼리하는 것이 좋지 않다고 생각하십니까? 또한 - 여기에 .NET MVC에 대한 좋은 소개가 있습니다 -> http://www.mvcconf.com/videos – Dan