我是 Asp.net MVC 的新手,不知道如何执行搜索。这是我的要求,请告诉我您将如何处理:-
我需要一个文本框,用户可以在其中输入搜索查询或字符串。然后用户单击按钮或按回车键提交。该字符串需要与表的属性名称相匹配。
注意:- 查询数据和获取结果不是这里的重点。我只需要知道您将如何获取用户输入并将其传递给 Controller 操作或其他任何内容以进行进一步处理。只需告诉我您将如何阅读用户输入以及将其发送到哪里进行搜索。
最佳答案
Asp.Net MVC 使用标准的 HTTP 动词。对于 html 部分,它是指向 url 的普通 html 表单。服务器端,该 url 将被路由到 Controller /操作,它将处理输入并执行所需的操作。
让我们来一个示例。你想制作一个搜索表单。首先,最好的做法是让搜索表单使用 HTTP GET 方法而不是 POST,这样搜索结果就可以添加书签、链接、索引等。我不会使用 Html.BeginForm 辅助方法来使事情变得更清楚。
<form method="get" action="@Url.Action("MyAction", "MyController")">
<label for="search">Search</label>
<input type="text" name="search" id="search" />
<button type="submit">Perform search</button>
</form>
这就是您需要的所有 html。现在您将拥有一个名为“MyController”的 Controller ,该方法将如下所示:
[HttpGet]
public ActionResult MyAction(string search)
{
//do whatever you need with the parameter,
//like using it as parameter in Linq to Entities or Linq to Sql, etc.
//Suppose your search result will be put in variable "result".
ViewData.Model = result;
return View();
}
现在将呈现名为“MyAction”的 View ,该 View 的模型将是您的“结果”。然后您将按照您的意愿显示它。
关于c# - 在 Asp.net MVC 中执行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8167853/