使用c#将List转换为java脚本数组

本文关键字:java 脚本 数组 转换 List 使用 | 更新日期: 2023-09-27 17:49:02

我使用jQuery自动补全功能,其中值将存储在java脚本数组中。我已经创建了一个函数,它给出了一个包含user_id和user_name对象的列表。如何将其转换为数组

public class DocModel
{
    [Required]
    public String dr_name { get; set; }
    [Required]
    public int dr_id { get; set; }
    public List<DocModel> GetUser()
    {
        SqlDataReader sdr = DataAccess.DataAccess.getAllDoctorNames();
        List<AECS1.Models.DocModel> DocList = new List<Models.DocModel>();
        Models.DocModel Doc;
        if (sdr.HasRows)
        {
            while (sdr.Read())
            {
                Doc = new Models.DocModel();
                Doc.dr_id = (int)sdr["dr_id"];
                Doc.dr_name = (string)sdr["dr_name"];
                DocList.Add(Doc);
            }
        }
        return DocList;
    }
}

这是视图页面:

$(function () {
    var docdata = [];

    $("#tags").autocomplete({
        source: docdata
    });
});

如何填充这个docdata数组

使用c#将List转换为java脚本数组

为你的模型添加一个名为ToJSON &使用JavaScript转换器——要么是内置的,要么是更好的,JSON.net的。让这个方法返回json编码的字符串代表你的数组。

<script>
    var docdata = @Model.ToJson();
</script>

如果您不喜欢在模型中使用该方法,请在填充模型时进行JSON转换。

将DocModels传递给视图作为模型。

@model IEnumerable<DocModel>

<script>
    var docdata = [
    @foreach(var item in Model)
    {
        @: '@item.dr_name',
    }
    ];
</script>