簡體   English   中英

如何使用JavaScript formate在mvc中將@ html.dropdownlist名稱與ID綁定

[英]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個屬性: ValueText ,您應該將下拉列表綁定到:

$.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);
}

現在,您可以將下拉列表綁定到此集合的IdName屬性:

$.each(data, function () {
    $('#MyDdl').append(
        $('<option/>', {
            value: this.Id,
            html: this.Name
        })
    );
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM