我需要將視圖中的字段值傳遞給控制器。我的代碼適用於文本框,但不適用於下拉菜單。我已經看到許多Html.DropdownlistFor的答案,但沒有爲這種情況。有什麼辦法可以做到這一點?將下拉選定值傳遞給Html.BeginForm()中的視圖
查看:
@var searchTypes = new SelectList(new[]
{
new SelectListItem {Value = "0", Text = "Email"},
new SelectListItem {Value = "1", Text = "Last Name"},
new SelectListItem {Value = "2", Text = "First Name"},
}, "Value", "Text");
@using (Html.BeginForm("Index", "Users", new { isSearch = 1, searchTerm = "SearchTerm", searchType="ddlSearchType" }, FormMethod.Post))
{
<div class="well well-sm search">
<div class="row">
<div class="col-sm-6">
<div class="form-group">
@Html.TextBox("SearchTerm",(string)ViewBag.SearchTerm, new {name= "SearchTerm", @class = "form-control", placeholder = "Search Term" })
</div>
</div>
<div class="col-sm-3">
<div class="form-group">
<div class="controls">
@Html.DropDownList("ddlSearchType", searchTypes, new { id = "searchtypeselect", @class = "form-control" })
</div>
</div>
</div>
<div class="col-sm-2">
<button class="btn btn-primary pull-right" type="submit"><i class="glyphicon glyphicon-search"></i>Search</button>
</div>
</div>
</div>
}
控制器:
public ActionResult Index(int? isSearch,string searchTerm,string searchType)
{
}
This answer剷球同樣的問題,但它並沒有在視圖中的文本框中。
爲了澄清,搜索部分只是我的觀點的一部分。我在它下面有一個分頁列表。所以我需要IsSearch字段來查看搜索按鈕是否被按下,或者如果它是頁面的更改,也將轉到相同的操作方法。
我仍然需要IsSearch參數,它不是任何控件的一部分。它可以幫助我查看搜索按鈕是否被點擊過。所以不能拿出你的建議等所有參數。 – TheFallenOne
爲什麼你需要知道? POST行爲不會表明這一點嗎? –
請檢查最近2行中的最新編輯。 – TheFallenOne