[英]how to bind the @html.dropdownlist name with id in mvc using JavaScript formate
我需要使用具有名稱和id的JavaScript格式在mvc中綁定@ html.dropdownlist。 我嘗試但未在JavaScript端進行綁定,但未在客戶端傳遞值。 我的清單值格式圖片如下。 如何通過名稱和ID而不是序列號傳遞值。
在您的ajax請求中將類型更改為GET
$.ajax({
type: 'GET',
...
並嘗試
$.each(data, function (index, val) {
$('<option/>',{value:val.Id,text:val.Text}).appendTo("#MyDdl");
});
您正在向客戶端發送一個SelectList。 此類實現IEnumerable<SelectListItem>
並且SelectListItem具有2個屬性: Value
和Text
,您應該將下拉列表綁定到:
$.ajax({
type: 'POST',
url: url,
data: { id : id },
success: function (data) {
$('#MyDdl').empty();
$.each(data, function () {
$('#MyDdl').append(
$('<option/>', {
value: this.Value,
html: this.Text
})
);
});
}
});
在您的示例中,您使用的是val.Id
但是沒有此類屬性。
但事實上,您不需要任何SelectList。 只需返回學生集合:
[HttpPost]
public ActionResult Some(string id)
{
var students = service.GetAllStudents().ToList();
students.Insert(0, new StudentModel{ Id = 0, Name = "Select student" });
return Json(students);
}
現在,您可以將下拉列表綁定到此集合的Id
和Name
屬性:
$.each(data, function () {
$('#MyDdl').append(
$('<option/>', {
value: this.Id,
html: this.Name
})
);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.