0

我在 ASP.NET MVC 视图中有以下标记(这是一个Twitter Bootstrap搜索框):

<form action="@Url.Action("Results", "Search")" method="post">
    <input type="text" class="search-query" id="SearchTerm" name="SearchTerm" />
</form>

此代码按预期工作,但在此处使用帖子会导致问题。

如何更改此标记以将搜索查询作为 URL 参数传递?我不确定如何在不保留现有标记然后从控制器重定向的情况下解决这个问题。我认为必须有比这更有效的方法。

4

1 回答 1

1

您应该能够更改method="post"method="get"获得所需的结果。带有 get 方法设置的表单通过其默认行为将表单中的字段推送到查询字符串。

作为一种解决方法,如果默认行为不适合您,您可以捕获表单的提交事件,然后执行以下操作:

window.location = form.action + "?SearchTerm=" + document.getElementById("SearchTerm").value

类似的东西,其中 form 是对表单元素的引用。您可以使用 javascript 构建链接并重定向,这是一个 get 请求。

于 2012-06-01T19:24:37.897 回答