Asp.net mvc 3 MVC3在当前视图上显示搜索结果(不创建任何新视图)

Asp.net mvc 3 MVC3在当前视图上显示搜索结果(不创建任何新视图),asp.net-mvc-3,search,view,Asp.net Mvc 3,Search,View,我正在从数据库中提取一些数据,并将其显示在列表中,如中所示。我想在页面顶部实现搜索,以搜索页面上重新聚合的数据的值。为搜索页面创建新视图。是否可以在不为搜索结果创建新视图的情况下对当前视图执行搜索 我不介意使用新视图,但我只是想知道,视图不需要关心您在后台使用数据做什么。它只是以一种格式化的方式显示您发送给它的任何内容。因此,在搜索框中提供一个参数,然后在单击搜索按钮时将其推送到控制器,肯定没有什么错。然后,控制器将向您的模型或repo发出请求,以过滤数据,最终返回加载了它找到的数据的视图,与初

我正在从数据库中提取一些数据,并将其显示在列表中,如中所示。我想在页面顶部实现搜索,以搜索页面上重新聚合的数据的值。为搜索页面创建新视图。是否可以在不为搜索结果创建新视图的情况下对当前视图执行搜索


我不介意使用新视图,但我只是想知道,视图不需要关心您在后台使用数据做什么。它只是以一种格式化的方式显示您发送给它的任何内容。因此,在搜索框中提供一个参数,然后在单击搜索按钮时将其推送到控制器,肯定没有什么错。然后,控制器将向您的模型或repo发出请求,以过滤数据,最终返回加载了它找到的数据的视图,与初始加载时完全相同(刚才的数据比以前少)。不需要为此创建完全不同的视图,该视图只是返回数据的模板。

因为您要重定向到同一视图,这意味着每次都刷新页面,然后取消搜索?我想知道这是怎么回事。而且,这样做有什么缺点吗?您可以向控制器添加另一个搜索按钮指向的actionresult。此操作可以将您的输入搜索值作为参数。在此之后,您将进行过滤并再次生成视图,但要使用过滤后的数据。如果您希望,还可以在输出中提供初始搜索参数(viewbag可能是最简单的),并在视图中显示该参数,以便用户知道搜索已发生。此方法与Karthik发布的链接非常相似。查看ElyLucas的博客文章此方法执行搜索,结果返回到同一页面。