您可以使用一种GET
方法:
<form class="search" action="@Url.Action("Index", "Search")" method="get">
<div>
<input name="q" value="" type="search" />
<input type="image" name="btn" value="search" src="@Url.Content("~/image1.jpg")" />
</div>
</form>
Html.BeginForm
您还可以使用为此目的设计的帮助程序生成完全相同的标记:
@using (Html.BeginForm("Index", "Search", FormMethod.Get, new { @class = "search" }))
{
<div>
<input name="q" value="" type="search" />
<input type="image" name="btn" value="search" src="@Url.Content("~/image1.jpg")" />
</div>
}
当您使用 GET 方法时,所有输入元素值都将在提交表单时在查询字符串中发送。
如果您想在 url 的路径部分附加搜索字符串,而不是使用查询字符串参数,我邀请您阅读following blog post
Scott Hanselman 的文章。我只引用他的结论:
在为在请求路径中获得疯狂的东西所做的所有努力之后,值得一提的是,简单地将值保留为查询字符串的一部分(还记得本文开头的 WAY 吗?)更容易、更清洁、更灵活,而且更多安全的。