我是新來的ASP MVC 3,我有以下問題。我有一個表單發出發送數據到服務器的請求。該表單包含銷售人員的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; }
}
因此索引視圖時,我提交的銷售人員列表設置爲空的形式(在指數HttpPost方法),我想顯示與仍然填充的列表相同的視圖。儘管如此,要做到這一點,我將不得不再次查詢數據庫。避免這樣做的最佳做法是什麼?
編輯:
我的帖子指數moethod代碼是這樣的:
[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 2011-05-04 12:16:00