0
我使用ASP.NET ADN在我看来,下面的代码:从HTTP获取表单值?
<% using(Html.BeginForm("Search", "Home", FormMethod.Get)) { %>
<%= Html.TextBox("searchText") %>
<input type="submit" value="Search" />
<% } %>
,并在我的控制,我有:
public ActionResult Search(string searchText)
{
return View("Index");
}
如果我在搜索行动断点,检查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 = “”),然后我得到了我的行动正确的值。为什么?
你在global.asax中有一些非默认路由设置吗?还要检查浏览器中生成的页面的来源。 – PanJanek 2009-12-09 14:39:54
我已经设置了以下路线: routes.MapRoute( “搜索”,//路线名称 “搜索/ {} SEARCHTEXT”,// URL与参数 新{控制器= “家”,行动=“搜索“,searchText =”“} //参数默认值 ); – 2009-12-09 14:51:29