我正在使用 ASP.NET 并在我的视图中有以下代码:
<% using(Html.BeginForm("Search", "Home", FormMethod.Get)) { %>
<%= Html.TextBox("searchText") %>
<input type="submit" value="Search" />
<% } %>
在我的控制器中,我有:
public ActionResult Search(string searchText)
{
return View("Index");
}
如果我在 Search-action 中有一个断点并检查 searchText 参数,即使我在 texbox 中键入一些文本,它也始终是“”。如果我将 formmethod 更改为 POST,它会按预期工作。
使用 http-GET 时如何阅读“searchText”?
编辑:
我有以下路线
routes.MapRoute(
"Search", // Route name
"Search/{searchText}", // URL with parameters
new { controller = "Home", action = "Search", searchText ="" } // Parameter defaults
);
当我删除了 searchText(searchValue="") 的默认值时,我在操作中得到了正确的值。为什么?