【问题标题】:Convert List into JSON to populate a table将 List 转换为 JSON 以填充表格
【发布时间】:2015-09-22 07:21:52
【问题描述】:

我有一个带有这样的表格的 aspx 文件。

<table class="table .table-condensed table-bordered table-hover">
    <thead>
        <tr>
            <th>Row</th>
            <th>Full Name</th>
            <th>Admin ID</th>
            <th>Password</th>
            <th>E-mail</th>
            <th>Contact No</th>
            <th>&nbsp;</th>
        </tr>
    </thead>
     </table>
<script>
jQuery(window).load(function () {
    getAdministrator();
});

function getAdministrator() {
    $('#panelContainer').removeClass('panel-danger');
    $.ajax({
        type: "POST",
        url: "ADMAdminManagement.aspx/GetAllAdministrator",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        beforeSend: function () {...
};
</script>

我有一个包含以下代码的 AdministratorManager.cs 文件,以便从 MySql 获取数据并创建一个列表。我正在尝试使用此信息使用 AJAX Post 方法填充我的表。

public List<Administrator> getAllAdministrator()
    {
        SqlCommand cmd = new SqlCommand();
        SqlConnection cn = new SqlConnection();
        SqlDataAdapter da = new SqlDataAdapter();
        DataSet ds = new DataSet();
        List<Administrator> administratorList = new List<Administrator>();
        da.SelectCommand = cmd;
        cn.ConnectionString =
            ConfigurationManager.ConnectionStrings["WebaConnectionString"].ToString();
        cmd.Connection = cn;
        cmd.CommandText = "SELECT SystemUserId,UserId,Password,FullName,Email,ContactNo,DateOfBirth FROM SystemUser";
        cn.Open();
        da.Fill(ds, "AdministratorData");
        cn.Close();
        foreach (DataRow dr in ds.Tables["AdministratorData"].Rows)
        {
            Administrator administrator = new Administrator();
            administrator.SystemUserId = Int32.Parse(dr["SystemUserId"].ToString());
            administrator.UserId = dr["UserId"].ToString();
            administrator.Password = dr["Password"].ToString();
            administrator.FullName = dr["FullName"].ToString();
            administrator.Email = dr["Email"].ToString();
            administrator.ContactNo = dr["ContactNo"].ToString();
            administrator.DateOfBirth = DateTime.Parse(dr["DateOfBirth"].ToString());
            administratorList.Add(administrator);
        }
        return administratorList;
    }

我设法在我的 cs 文件中生成了列表,并将我的代码隐藏在我的 webform 文件中。我想知道如何返回这些数据并将其发送到我的网络表单。据我所知,我必须将其转换为 JSON 格式,但我似乎不能。

[WebMethod]
    public static object GetAllAdministrator()
    {
            AdministratorManager administratorManager = new AdministratorManager();
            List<Administrator> adminList = administratorManager.getAllAdministrator();   

    }

【问题讨论】:

  • 你可以使用 JavaScriptSerializer 类从使用 System.Web.Script.Serialization.using jss.Serialize(adminList) 它将转换为 json 字符串。

标签: c# mysql asp.net json


【解决方案1】:

您可以使用JavascriptSerializerusing System.Web.Script.Serialization,它具有将对象列表转换为json 的序列化和反序列化方法,反之亦然。

在你的情况下,你必须这样做:

JavaScriptSerializer obj= new JavaScriptSerializer();
string output = obj.Serialize(adminList);

输出是一个 json 字符串,您的 webmethod 将其作为响应接收。

【讨论】:

    猜你喜欢
    • 2014-02-03
    • 1970-01-01
    • 2021-10-19
    • 2021-03-01
    • 2015-10-01
    • 1970-01-01
    • 2014-09-09
    • 2019-05-08
    • 2017-03-29
    相关资源
    最近更新 更多