Database MVC:SearchController尝试查找完全匹配的页面,并重定向到这些页面,否则将重定向到SearchResults视图
在MVC应用程序中,我实现的搜索控制器(Database MVC:SearchController尝试查找完全匹配的页面,并重定向到这些页面,否则将重定向到SearchResults视图,database,search,redirect,model-view-controller,Database,Search,Redirect,Model View Controller,在MVC应用程序中,我实现的搜索控制器(/search/all/query)如下: 它检查查询是否有各种类型的精确匹配页面,如果有,则重定向到这些页面(例如,/some other controller/view/query) 如果没有完全匹配,它将通过联合数据库查询重定向到搜索结果页面,列出可能的选项(/search/results/query) 这很有效,但我觉得这是“错误的”,因为: 在精确匹配的情况下,我至少进行一次DB查询以了解精确匹配,然后从该控制器进行另一次DB查询以实际生成该视图
/search/all/query
)如下:
/some other controller/view/query
)/search/results/query
)search/results/
函数/视图进行另一次查询为什么您需要两个控制器/搜索/全部/查询和/搜索/结果/查询?我会把这两个合并成一个。谢谢,这实际上是一个进步。只是想澄清一下:搜索是一个控制器。Search/all不加载任何视图,它总是重定向到其他视图,如果存在精确匹配,则重定向到其他控制器,或者重定向到Search/results视图。所以你建议我在没有完全匹配的情况下“搜索”加载一个视图,如果有完全匹配的情况下重定向到另一个控制器?是的。如果/search找到一个精确匹配,它可以重定向,如果有多个匹配,它将使用当前结果集加载视图,并且不需要再次点击数据库。