繁体   English   中英

将List转换为JSON以填充表

[英]Convert List into JSON to populate a table

我有一个表这样的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();   

    }

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

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

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

输出是您的web方法接收作为响应的json字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM