2

ajax経由でシリアル化されたjsonリストを取得し、html jqueryモバイルページに動的テーブルを作成しようとしています. リストは、コード ビハインドの sql データベースから取得されます。json オブジェクトを正しく返しているかどうか、および ajax 成功関数からアクセスする方法がわかりません。

私の目標は、html 内のすべてのメンバーのテーブルを動的に作成することです。

私はメンバークラスを作成しました:

public class Member
{
    public Member()
    {
        //
        // TODO: Add constructor logic here
        //
    }

    public String fName { set; get; }

    public String lName { set; get; }



}

これは、コード ビハインドでメンバー リストを返す関数です: (SQL に接続するクラスで記述)

public List<Member> return_member_list()
    {
        List<Member> member_list = new List<Member>();

        String fName;
        String lName;


        SqlConnection user_con = connect("ActConString");
        SqlCommand user_command = create_command(user_con, "select m_first_name, m_last_name from member");

        SqlDataReader rdr = user_command.ExecuteReader();


        while (rdr.Read())
        {
            Member m1 = new Member();
            fName = Convert.ToString(rdr["m_first_name"]);
            lName = rdr["m_last_name"].ToString();


            m1.fName = fName;
            m1.lName = lName;



            member_list.Add(m1);


        }

        rdr.Close();
        user_con.Close();

        return member_list;
    }

次に、aspx ページの Web メソッドを使用して、シリアル化されたリストを返します。

   [WebMethod]
    public static String return_member_list()
    {
        dbservices db1 = new dbservices();

        List<Member> member_list = db1.return_member_list();

        var jsonSerialiser = new JavaScriptSerializer();

        var json = jsonSerialiser.Serialize(member_list);

        return json;
    }

そしてアヤックス:

 $(document).ready(function () {



            $.ajax({
                type: "POST",
                url: "getdata.aspx/return_member_list",
                data: "{}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",

                success: function (res) {

                    //this is where I need help


                },
                error: function (res, msg, code) {
                    // log the error to the console
                    alert("The following error occured: " + msg + " " + code);
                } //error

            });

        });

テーブルを動的に作成することについても助けていただければ幸いです:)

4

1 に答える 1

4

以下のように成功関数を実行する必要があります

success: function (res) {
    var parsedData = JSON.parse(res.d);
    var tableStr = "<table>";
    $.each(parsedData, function(){
        tableStr +="<tr><td>"+this.fName+"</td><td>"+this.lName+"</td></tr>";
    });
    tableStr += "</table>";
    $('#tableDiv').html(tableStr);
}

IDを持つdivがあると仮定しますtableDiv

于 2013-04-01T13:14:13.217 に答える