级联下拉菜单在 mvc 中返回未定义

Cascading dropdowns are returning undefined in mvc

我知道这里有很多其他人有这个问题。但这是我关于此事的问题。

我的Json调用家庭控制器:

public JsonResult GetBrand(int id)
{
    List<String> resultdata = new List<String>();

    //get some data via sql query
    using (SqlCommand command = new SqlCommand(query, sqlconn))
    {
        using (SqlDataReader reader = command.ExecuteReader())
        {
            while (reader.Read())
            {
                resultdata.Add(reader.GetString(0));
            }
        }
    }

    return Json(resultdata, JsonRequestBehavior.AllowGet);
}

我的第二个下拉菜单的代码:

@Html.DropDownList("Brand", new SelectList(string.Empty, "", ""), "Please select", new { @class = "form-control" })

我也试过:

@Html.DropDownList("Brand", new SelectList(string.Empty, "div_id ", "material_name "), "Please select", new { @class = "form-control" })

还有我的剧本:

$(document).ready(function () {
    $("#category").change(function () {
        $.get("GetBrand", { id: $("#category").val() }, function (data) {
            console.log(data);
            $("#Brand").empty();
            $.each(data, function (index, row) {
                console.log(row);
                $("#Brand").append("<option value='" + row.div_id + "'>" + row.material_name + "</option>")
            });
        });
    })
});

在 Chrome 的 F12 控制台上,我可以在下拉列表中看到我想要返回的实际数据列表,它是正确的(通过 console.log(row);)。 但是,在下拉列表本身中,它显示未定义。

有人对我缺少的东西有什么建议吗?

这是我对还遗漏一些如此简单的东西的人的修复:

                while (reader.Read())
                {
                    items.Add(new SelectListItem
                    {                           
                        
                        Value = Convert.ToString(Convert.ToInt32(reader["div_id"])),
                        Text = reader["material_name"].ToString()
                    });
                }
   

现在它 returns 值。