我正在尝试提交搜索请求(SEGQuery
),该搜索请求将根据用户从Twitter引导按钮下拉列表(SearchField
)中选择的内容搜索特定字段。 SearchField
保存在查询字符串中,我在检索时没有任何问题。但是,当我尝试发布SEGQuery
时,它没有被发布到我的操作方法中,我不明白为什么。我试图使用Ajax.ActionLink
助手而不是按钮,因为我希望能够保持twitter bootstrap下拉按钮的外观。
我遇到的另一个问题是即使Action方法被命中,它也不会像它应该重定向到SearchResults
视图。
是否有明显的错误导致我的模型数据无法正确发布?
查看
@using (Html.BeginForm("SearchResults", "SEG", FormMethod.Post))
{
<div class="seg-search">
<div class="input-append">
@Html.TextBoxFor(m => m.SEGQuery, new {@class = "input-large-seg"})
<div class="btn-group">
<button class="btn dropdown-toggle" data-toggle="dropdown">
Search
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li>@Ajax.ActionLink("Company Name", "SearchResults", new {fieldId = 1}, new AjaxOptions{HttpMethod = "POST"})</li>
<li>@Ajax.ActionLink("FOM Code", "SearchResults", new {fieldId = 2}, new AjaxOptions{HttpMethod = "POST"})</li>
</ul>
</div>
</div>
</div>
}
答案 0 :(得分:0)
如果我不明白你想要达到的目的,请纠正我:
您想在文本框中使用Id SEGQuery和选定的下拉值发布值吗?
快速浏览一下,你错过了一个类型=“提交”
我的问题是 1.为什么使用ActionLink作为下拉值 2.为什么没有下拉列表下方的按钮 - 更适合用户
我会将代码更改为
@using (Html.BeginForm("SearchResults", "SEG", FormMethod.Post))
{
<div class="seg-search">
<div class="input-append">
@Html.TextBoxFor(m => m.SEGQuery, new {@class = "input-large-seg"})
<div class="btn-group">
<ul class="dropdown-menu">
<li>@Ajax.ActionLink("Company Name", "SearchResults", new {fieldId = 1}, new AjaxOptions{HttpMethod = "POST"})</li>
<li>@Ajax.ActionLink("FOM Code", "SearchResults", new {fieldId = 2}, new AjaxOptions{HttpMethod = "POST"})</li>
</ul>
<button class="btn dropdown-toggle" type="submit" data-toggle="dropdown">
Search
<span class="caret"></span>
</button>
</div>
</div>
</div>
}