将参数发送到另一个操作,因为查询字符串不是表单参数

时间:2010-05-28 14:24:57

标签: asp.net-mvc-2 query-string form-parameter

我有一个表单,其中包含一个用于保存搜索查询的字段,以及一个用于将查询值发送到另一个操作方法以执行搜索的按钮。现在我想将此参数作为查询字符串发送;不是形式参数。但是当我点击提交按钮时,它的值不会显示在地址栏上,并被发送为表单参数

<% using (Html.BeginForm("Result", "Search", FormMethod.Post))
       { %>
    <input id="query" name="query" type="text" value="<%: ViewData["InitialQuery"]%>"
        class="search-field" />
    <input id="search" type="submit" value="Search" class="search-button" />
    <%} %>

public ActionResult Result(string query)
    {
        if (string.IsNullOrEmpty(query))
            return RedirectToRoute("SearchEngineBasicSearch");
        var search = new Search();
        var results = search.PerformSearch(query);
        if (results != null && results.Count() > 0)
            return View("Result");
        return View("Not-Found");
    }

单击提交按钮后的URL是... / search / result我想成为... / search / result?query = someQueries

提前谢谢;)

1 个答案:

答案 0 :(得分:3)

FormMethod.Post更改为FormMethod.Get