Я использую ASP.NET ADN есть следующий код на мой взгляд:Получить значения форм из HTTP-get?
<% using(Html.BeginForm("Search", "Home", FormMethod.Get)) { %>
<%= Html.TextBox("searchText") %>
<input type="submit" value="Search" />
<% } %>
и в мой контроллер у меня есть:
public ActionResult Search(string searchText)
{
return View("Index");
}
Если у меня есть точки останова в Search-действия и рассмотрите аргумент searchText, это всегда "", даже если я наберу текст в texbox. Если я изменил метод form на POST, он работает так, как ожидалось.
Как я могу прочитать «searchText» при использовании http-GET?
Edit:
Я имел следующий маршрут
routes.MapRoute(
"Search", // Route name
"Search/{searchText}", // URL with parameters
new { controller = "Home", action = "Search", searchText ="" } // Parameter defaults
);
и когда я извлекал значение по умолчанию SearchText (searchValue = ""), то я получил правильное значение в моей деятельности. Зачем?
У вас есть некоторая настройка маршрутизации без привязки в global.asax? Также проверьте источник сгенерированной страницы в вашем браузере. – PanJanek
Я создал следующий маршрут: routes.MapRoute ( "Поиск", // название маршрута "Поиск/{SearchText}", // URL с параметрами новый {контроллер = "Home", действие = " Поиск ", searchText =" "} // Параметры по умолчанию ); –