我将开发一个搜索页面,其中有来自不同网络模型(实体)的多个字段。另外,我在同一屏幕上有多个 DropDownList
,其值将从查找表中填充。
我想知道(在这种情况下)最好的方法是什么。我应该创建一个 ViewModel
并将该模型传递给我的 View 吗?或者我需要不同的方法吗?
但我不确定应该如何处理从查找表中填充的下拉字段。
此外,在提交页面时,我应该如何在下一个搜索详细信息屏幕中获取这些值以从数据库获取所有记录?
我正在使用 MVC3 和 EF 4.2
最佳答案
拥有一个具有必要属性(您的搜索条件)的 ViewModel 是正确的方法。 当您为搜索执行 HttpGet 操作时,会加载查找表中的所有数据并加载到属性(例如:状态等..)。
public ActionResult Search()
{
SearchViewModel objVM=new SearchViewModel();
objVM.States=MyService.GetStates();
objVM.Type=MyService.GetUserTypes();
return objVM.
}
[HttpPost]
public ActionResult Search(SearchViewModel objVM)
{
if(ModelState.IsValid)
{
//Go for the search and return results
}
return View(objVm);
}
关于asp.net - 具有多个模型和查找表的 MVC3 搜索屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9601846/