0

検索用のクエリを保持するフィールドと、検索を実行するためにクエリ値を別のアクションメソッドに送信するためのボタンを持つフォームがあります。ここで、このパラメーターをクエリ文字列として送信します。パラメータを形成しません。しかし、送信ボタンをクリックすると、その値はアドレスバーに表示されず、フォームパラメータとして送信されます。

<% 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

少し早いですがお礼を ;)

4

1 に答える 1

3

に変更FormMethod.PostFormMethod.Getます。

于 2010-05-28T17:54:10.923 に答える