我想有两个部分视图,一个用于SEARCH
和一个用于SEARCHRESULTS
。从另一个部分视图更新部分视图 - ASP.NET MVC2
我想在SEARCH
局部视图表单上单击“搜索”按钮时更新SEARCHRESULTS
。 SEARCHRESULTS
需要从SEARCH
局部视图获得输入给它的表单数据。
我不完全确定如何去做这件事。我可以从我的SEARCH
局部视图的控制器操作更新SEARCHRESULTS
局部视图吗?
我想有两个部分视图,一个用于SEARCH
和一个用于SEARCHRESULTS
。从另一个部分视图更新部分视图 - ASP.NET MVC2
我想在SEARCH
局部视图表单上单击“搜索”按钮时更新SEARCHRESULTS
。 SEARCHRESULTS
需要从SEARCH
局部视图获得输入给它的表单数据。
我不完全确定如何去做这件事。我可以从我的SEARCH
局部视图的控制器操作更新SEARCHRESULTS
局部视图吗?
一般性讨论
在MVC设计模式中,视图彼此不知道。它们可能通过组装多个局部视图的视图的概念而被束缚在一起,但即使这样,局部视图也是彼此无知的。这个概念适用于ASP.NET MVC。 Mike Brind在他的文章ASP.NET MVC Partial Views and Strongly Typed Custom ViewModels中做了很好的描述partials和ViewData。
具体到你的问题
要回答你的问题的局部视图可以有一个链接,呈现不同的视图控制器的动作,只要适当的信息传递给控制器。你如何去做这将取决于你想要做什么。
鉴于你的问题,我将假设SEARCH
局部视图是一个带有搜索字段和按钮的简单形式。而SEARCHRESULTS
是返回数据的列表。在这种情况下,您需要创建一个名为Search
的控制器操作,该操作会接收字符串值并返回部分或SEARCHRESULTS
部分的部分视图或包含SEARCHRESULTS
部分的视图。 Scott Guthrie在他的博客文章Passing ViewData from Controllers to Views中提供了一个将数据传递到视图的相当好的描述。
// returning partial
public ActionResult Search(string q)
{
//do search .......
//.................
return PartialView("SEARCHREULTS", viewdata);
}