name と id を持つ JavaScript 形式を使用して、mvc で @html.dropdownlist をバインドする必要があります。私は試みますが、クライアント側で値を渡さない JavaScript 側でバインドしません。私のリスト値形式の画像を以下に示します。値を name と id ではなく serial no で渡す方法。
2 に答える
1
次のような ajax リクエストでタイプを GET に変更します
$.ajax({
type: 'GET',
...
そして試してみてください
$.each(data, function (index, val) {
$('<option/>',{value:val.Id,text:val.Text}).appendTo("#MyDdl");
});
于 2013-03-08T06:15:42.167 に答える
0
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
})
);
});
于 2013-03-08T06:55:58.167 に答える