0

こんにちは、jquery でグリッドを埋めようとしていますが、エラーが警告されています。Web サービスを介して文字列として返すことで以前に試みたように、データを取得するのに問題ありませんが、データ グリッドを埋めようとすると、Web サービスをデバッグしていなくてもエラーが発生します。それを発射する???

最初に、コードでグリッドを次のように使用します。

<asp:GridView ID="gvDetails" runat="server">
<HeaderStyle BackColor="#DC5807" Font-Bold="true" ForeColor="White" />
</asp:GridView>

次に、コードビハインドでテーブルに行を作成します。

   private void BindColumnToGridview()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("user_Id");
            dt.Columns.Add("user_Fullname");
            dt.Columns.Add("user_Need");
            dt.Rows.Add();
            gvDetails.DataSource = dt;
            gvDetails.DataBind();
            gvDetails.Rows[0].Visible = false;
        }

  if (!IsPostBack)
            {
                BindColumnToGridview();
            }

次に、セッションから id を取得し、以下に示すように webservice に渡します。

<script type="text/javascript" language="javascript">
var empId = '<%= Session["UserID"] %>';
</script>
<script type="text/javascript"> 
$(document).ready(function() {
alert(empId);
        $.ajax({ 
        type: "POST", 
        contentType: "application/json; charset=utf-8",
        url: "ServiceGetUser.asmx/BindDatatable", 
        data: "{'employeeId': '" + empId + "'}",
        dataType: "json", 
        success: function(data) {
        for (var i = 0; i < data.d.length; i++) {
        $("#gvDetails").append("<tr><td>" + data.d[i].user_Id + "</td><td>" + data.d[i].user_Fullname + "</td><td>" + data.d[i].user_Need + "</td></tr>");
        }
        },
        error: function(result) {
        alert("Error");
        } 
        }); 
        }); 

</script>

私のWebサービスとして、

   [WebMethod]

        public static UserDetails[] BindDatatable(string employeeId)
        {
            DataTable dt = new DataTable();
            List<UserDetails> details = new List<UserDetails>();

            UserSearch us = new UserSearch();
            DataSet ds = new DataSet();
            Connection cs = new Connection();
            ds = cs.CurrentStatus(employeeId);

                    foreach (DataRow dtrow in dt.Rows)
                    {
                        UserDetails user = new UserDetails();
                        user.user_Id = dtrow["user_Id"].ToString();
                        user.user_Fullname = dtrow["user_Fullname"].ToString();
                        user.user_Need = dtrow["user_Need"].ToString();
                        details.Add(user);
                    }

            return details.ToArray();
        }
        public class UserDetails
        {
            public string user_Id { get; set; }
            public string user_Fullname { get; set; }
            public string user_Need { get; set; }
        }

それはIDを警告しており、その後「エラー」を警告し、Webサービスをデバッグしていません。何が問題なのかわかりませんか???

それが原因ではなかったので、jqueryライブラリを含めました

私はこれを例として得ます、

http://www.aspdotnet-suresh.com/2012/03/bind-data-to-gridview-with-jquery-or.html

あなたの提案を願っています

4

0 に答える 0