我有一個MVC,多選的DropDownList,從一個SelectListItem模型中填充選擇專案。
@Html.DropDownList("EmployeeStatuses", (IEnumerable<SelectListItem>)ViewBag.EmployeeStatuses, new { multiple = "多重", style = "width: 100%;", @class = "select2", onchange = "UpdateEmployeeStatusFilter()", id = "employee-status-type" })
當用戶從DropDownList中選擇或取消選擇專案時,我想在我的控制器中運行一個方法來過濾視圖中的資料。這是通過onChange事件UpdateEmployeeStatusFilter()完成的。
<script type="text/javascript"/span>>
function UpdateEmployeeStatusFilter(/span>) {
var value = $('#employee-status-type').val()。
console.log(value)。
var a = ["X"/span>, "Y"/span>, "Z"/span>] 。
console.log(a)。
$.ajax({}.
type: 'POST'。
url: '@Url.Action("SearchEmployee", "Employee")'。
data: { valueMember: value },
dataType: 'json',
traditional: true,
success: function (msg) { alert(msg) })
});
};
</script>>
當我除錯腳本時,我能夠得到value的值并將其寫入控制臺視窗。當控制器方法被呼叫時,該值是null。
publicIActionResult SearchEmployee(string itemsSelected)
{
// Do Stuff with itemsSelected
return RedirectToAction("index")。
}
我的問題是,我如何將該值納入我的控制器?
我不確定這段代碼是否相關,但為了清楚起見,我還是把它包括進去。
public IActionResult Index()
{
//獲取就業狀況
IEnumerable<SelectListItem> statuses = _mockDataRepository.GetEmployeeStatuses().Select(c => new SelectListItem
{
Value = c.ValueMember,
Text = c.DisplayMember,
選定 = c.ValueMember == "AC".
});
ViewBag.EmployeeStatuses = statuses;
public class SelectListItem
{
[Key] 。
public string ValueMember { get; set; }
public string DisplayMember { get; set; }
public int SortOrder { get; set; } = 0;
uj5u.com熱心網友回復:
名稱不匹配。SearchEmployee()動作方法有itemsSelected輸入引數。因此,在.ajax呼叫中設定相同的引數名稱:
data: { itemsSelected: value },
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/307635.html
標籤:
上一篇:Rails:創建動態路由、控制器
下一篇:將串列項與其他列的值串聯起來
