0

テキスト ボックスのデータをコントローラーのアクション パラメーターに渡すのに問題があります。

URLを次のように取得しようとしています:

http://localhost:51124/gifts?searchTerm=test

しかし、テキスト ボックスにテキストを入力すると、次のような URL が表示されます。

http://localhost:51124/gifts

ルートのコードは次のとおりです。

 routes.MapRoute("Gifts",
            "gifts",
            new { controller = "Gifts", action = "Search" });

テキスト ボックス データを送信するためのテキスト ボックスとボタンを含むページのコードを次に示します。

<form method="GET">
     <input type="search" name="searchTerm"/>
     <input type="button" value="Search By Category" onclick="location.href='@Url.Action("Search", "Gifts")'" />
</form>

データを渡そうとして失敗したコントローラーのコードは次のとおりです。

public ActionResult Search(string searchTerm = null)
    {
        var model = db.Gifts.ToList();
        return View(model);
    }

「searchTerm」は、テキスト ボックスに渡すパラメーターを取得しません。常にヌルです。

4

2 に答える 2