Mvc, HTML control, jQuery bind не отображаются в formcollection
Всем Привет,
У Меня Есть Выпадающий Список Отдела Местоположения И Назначения В Поле Зрения И Какое-То Скрытое Поле, И Выпадающий Список Был Привязан Через Jquery.
Возвращаемое значение из метода Ajax Action - это Entity Framework JSON, и это был простой тип var ToList.
Теперь, когда я отправляю свою форму, она показывает только первый выпадающий список, который был @Html. DropDownList ("Location", " <-- Select Location -- & gt;")
Пожалуйста, Ответьте.
<div class= "row">
@using (Html. BeginForm())
{
&ЛТ;див класс="входные-группы-коль-МД-6 коль-МД-смещение-3"и GT;
@HTML-код.Dropdownlist для("расположение", "в<-- выберите место --&ГТ;")
в <тип входного="скрытые" идентификатор="hfLocation" значение="0" /&ГТ;
< br / & gt;
< br / & gt;
& lt;выберите id= "отдел" >
< / select>
в <тип входного="скрытые" идентификатор="hfDepartment" /&ГТ;
< br / & gt;
< br / & gt;
& lt;выберите id= "обозначение" >
< / select>
в <тип входного="скрытые" идентификатор="hfDesignation" /&ГТ;
< br / & gt;
< br / & gt;
< input type= "submit" value= "Show Employee" />
< script type= "text/javascript">
$(функция () {
$('select'). each (функция () {
if ($(this).find("option").длина <= 1) {
$(этот).м("инвалид", "инвалид");
}
})
});
$("select"). change(функция () {
значение var = 0;
if ($(this). val ()! = "") {
значение = $(это).вал();
}
var id = $(this). attr ("id");
$.Аякс({
тип: "пост",
url: "/ Home/AjaxMethod",
данные: '{DropdownValue : '+ value + ', DropdownID : "' + id + '"}',
contentType: "application/json; charset=utf-8",
тип данных: "json",
успех: функция (ответ) {
ВАР dropDownId;
список var;
переключатель (id) {
кейс " местоположение":
список = ответ;
$('#hfLocation'). val(значение);
DisableDropDown ("#Department", " <-- Select Department -->");
DisableDropDown ("обозначения#", "&ЛТ;-- выберите назначение --&ГТ;");
PopulateDropDown ("#Department", список);
перерыв;
кафедра делу "":
список = ответ;
$('#hfDepartment'). val(значение);
DisableDropDown ("обозначения#", "&ЛТ;-- выберите назначение --&ГТ;");
PopulateDropDown ("#обозначение", список);
перерыв;
чехол "обозначение":
список = ответ;
$('#hfDesignation'). val(значение);
}
},
отказ: функция (ответ) {
предупреждение ('Failure')
предупреждение(ответ.responseText);
},
ошибка: функция (ответ) {
если (ответ.responseText != ")
предупреждение(ответ.responseText);
}
});
});
функция DisableDropDown(dropDownId, Text) {
$(dropDownId). attr ("disabled", " disabled");
$(dropDownId).пустой().функции append('&ЛТ;вариант выбран="выбран" значение="0"&ГТ;' + текст + в '</вариант&ГТ;');
}
функция PopulateDropDown(dropDownId, list) {
если (список != нуль &амп;&амп; список.длина &ГТ; 0) {
$(dropDownId). removeAttr ("отключено");
$. each(список, функция () {
$(dropDownId).функции append ($("в<параметр&ГТ;&ЛТ;/вариант&ГТ;").вал(это['идентификатор']).HTML-код(этот['текст']));
});
}
}
< / script>
< / div>
}
< / div>
public class HomeController : Controller { CallLoggerEntities callLoggerEntities = new CallLoggerEntities(); [HttpGet] public ActionResult Index() { var LocationEntity = new SelectList((from L in callLoggerEntities.Locations where (L.IsDel == false || L.IsDel == null) select new { ID = L.ID, Location = L.Location1 }), "ID", "Location").ToList(); ViewBag.Location = LocationEntity; return View(); } [HttpPost] [ActionName("Index") ] public ActionResult Index_Post(FormCollection F) { string L = F["Location"]; return View(); } public JsonResult AjaxMethod(string DropdownValue, string DropdownID) { int ID = Convert.ToInt32(DropdownValue); if (DropdownID == "Location") { var DepEntity = (from D in callLoggerEntities.Departments where ((D.IsDel == false || D.IsDel == null) && D.LocationID == ID) select new { ID = D.ID, Text = D.DepartmentName }).ToList(); return Json(DepEntity, JsonRequestBehavior.AllowGet); } if (DropdownID == "Department") { var DesEntity = (from D in callLoggerEntities.Designations where ((D.IsDel == false || D.IsDel == null) && D.DepartmentID == ID) select new { ID = D.ID, Text = D.DesignationName }).ToList(); return Json(DesEntity, JsonRequestBehavior.AllowGet); } if (DropdownID == "Designation") { List<FetchEmployeeList_Result> Result = callLoggerEntities.FetchEmployeeList("A", "A", "A", "A").ToList(); } return null; } public ActionResult About() { ViewBag.Message = "Your app description page."; return View(); } public ActionResult Contact() { ViewBag.Message = "Your contact page."; return View(); } }
Что я уже пробовал:
MVC, HTML Control, jQuery Bind не отображается в FormCollection не работает