【发布时间】:2012-02-01 11:50:37
【问题描述】:
我有一个由 3 个部分视图组成的视图 屏幕左侧和右侧顶部的 2 个部分。 每个人都有一个互斥的搜索,每个帖子都返回自己的操作
这是呈现初始视图的操作
public ActionResult Index() {
var model = new SearchOptionsViewModel();
return View(model);
}
这是部分视图之一的发布操作:
[HttpPost]
public ActionResult SearchByUser(UserSearchOptionsViewModel model) {
if(ModelState.IsValid) {
var list = SearchUserService.SearchByValue(model.LastName, model.Username, model.EmailAddress);
if(list != null) {
var resultsModel = new UserSearchResultsListViewModel();
list.ForEach(item => resultsModel.Users.Add(new UserSearchResultsViewModel(item)));
return RedirectToAction("SearchResults", resultsModel);
}
}
return View(model);
}
此模型成功发布并从数据库中获取我的数据并将其添加到视图模型中。 我不知道如何让结果显示在搜索条件下的同一屏幕上。
这是我希望能够从先前的操作接收模型并将部分渲染回原始视图的操作。我认为使用第三个 SearchResults 部分视图是答案,但这不起作用,它导航到它自己的页面显示结果而不是在同一页面上。
public ActionResult SearchResults(UserSearchResultsListViewModel model) {
return PartialView(model);
}
当我这样做时,模型总是以 null 的形式出现。我在这里遗漏了一些基本的东西...... 如何让这些数据显示在同一个视图上?
【问题讨论】:
标签: asp.net-mvc-3