如何在ASP.NET MVC应用程序中实现搜索功能
问题描述:
我可以想象在ASP.NET MVC应用程序中实现搜索功能的多种方式,但由于找不到太多文档,我在想如果您有任何常见模式,技术或在ASP.NET MVC应用程序中实现搜索功能的常用方法(类似于*)。有些技术是我心目中是:如何在ASP.NET MVC应用程序中实现搜索功能
- SQL Server全文搜索
- 外部搜索引擎(如Google搜索服务器2008)
- Lucene.NET
...但是将它们与ASP.NET MVC集成的最佳方法?
想法?
答
这不是完全清楚你所专门询问,但总的来看:
- 写返回一个搜索表单视图助手或局部视图。在需要显示搜索框的任何地方打电话给您的其他页面。使表单操作GET,而不是POST。
- 对于网站搜索,您可能需要拥有搜索控制器。为了在一种特定类型的数据中进行搜索,您可以将操作添加到现有控制器或将参数添加到现有操作。大多数情况下,我们必须添加的唯一一个参数是针对特定数据类型的通用“List”操作。搜索表单调用“List”并用搜索查询字符串设置参数。
- 实际搜索是在您的存储库中完成的。这是应用程序中唯一知道诸如SQL Server或Lucene之类的部分。对于微不足道的情况,控制器可以在存储库返回的IQueryable <T>附加一个.Where。