必承其重 | 欲带皇冠 2012-05-25 10:43 采纳率: 0%
浏览 85

jQuery Ajax中的“未定义错误”

please some one help to clear this error

I want to show a modal pop(with inside details from database) upon each click of the dynamic boxes without page refresh.I used jquery ajax,but i cant get the values from database.it shows undefined error on the field inside pop up.please see the code.

<script type="text/javascript">
      $.fx.speeds._default = 1000;
      $(document).ready(function () {
          $("div[id*='window']").live('click', function (e) {
              $.ajax({
                  url: 'Default2.aspx/get_details',
                  type: 'Get',
                  // dataType: 'json',
                  data: { id: $(this).attr('id').replace(/window/g, '') },
                  success: function (data) {
                    alert(data);
                      $('<div></div>').appendTo('body').html('<div>' + data.comp_name + '</div><div>' + data.comp_status + '</div>').dialog({
                          modal: true, title: 'owner details', zIndex: 10000, autoOpen: true,
                          width: 400, height: 200, modal: false, resizable: false, closeOnEscape: false,
                          show: "slide", hide: "explode",

                          close: function (event, ui) {
                              $(this).remove();
                          }
                      });
                  }
              });
          });
      });


  </script>

c# code:

public class Company
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Status { get; set; }
    }


  public Company get_details(int id)
  {

      DataSet dset = new DataSet();
      SqlConnection cn = new SqlConnection(@"Data Source=KUR;Initial Catalog=Drea;User ID=sa;Password=Sage");
      string qry = "Select comp_companyId,comp_name,comp_status from Company where comp_companyId=" +id+" ";
      SqlDataAdapter sda = new SqlDataAdapter(qry, cn);
      sda.Fill(dset);

      Company entity = new Company();

      SqlCommand cmd = new SqlCommand(qry, cn);

      SqlDataReader reader = cmd.ExecuteReader();

      if (reader.Read())
      {
          entity.Id = int.Parse(reader["comp_companyId"].ToString());
          entity.Name = reader["comp_name"].ToString();
          entity.Status = reader["comp_status"].ToString();
      }

      return entity;
  }
  • 写回答

2条回答 默认 最新

  • weixin_33747129 2012-05-25 10:51
    关注
    public string Name { get; set; } -> data.Name ...
    if u use data.name it will show as undefined. because it is case sensitive   
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <link href="Scripts/css/ui-lightness/jquery-ui-1.8.20.custom.css" rel="stylesheet"
            type="text/css" />
        <script src="Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
        <script src="Scripts/jquery-ui-1.8.20.custom.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            $.fx.speeds._default = 1000;
            $(document).ready(function () {
                $("div[id*='window']").live('click', function (e) {
                    $.ajax({
                        url: "WebService.asmx/GetCompanyDetails", type: "Post", dataType: "json",
                        data: JSON.stringify({ id: $(this).attr('id').replace(/window/g, '') }),
                        contentType: "application/json; charset=utf-8",
                        success: function (msg) {
                            var data = $.parseJSON(JSON.stringify(eval("(" + msg.d + ")")));
    
                            $('<div></div>').appendTo('body').html('<div>' + data.Name + '</div><div>' + data.City + '</div>').dialog({
                                modal: true, title: 'Test message', zIndex: 10000, autoOpen: true,
                                width: 460, height: 300, modal: true, resizable: false, closeOnEscape: false,
                                show: "slide", hide: "explode",
                                buttons: {
                                    Ok: function () {
                                        $(this).dialog("close");
                                    }
                                },
                                close: function (event, ui) {
                                    $(this).remove();
                                }
                            });
                        },
                        error: function (msg) {
    
                        }
                    });
                });
            });
        </script>
    </head>
    <body>
        <div id="window1">
            Test1
        </div>
        <br />
        <br />
        <br />
        <br />
        <div id="window2">
            Test2
        </div>
    </body>
    </html>
    
    
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using Entity;
    
    namespace CompanyDisplay
    {
        public partial class CompayJqueryUI : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
    
            }
    
            public Company GetCompanyDetails(int id)
            {
                if (true)   //authorize 
                {
                    //SqlConnection cn = new SqlConnection(@"Data Source=KURIOS_WS4;Initial Catalog=Dreams;User ID=sa;Password=SageCRMv71");
                    //string qry = "Select comp_companyId,comp_name,comp_status from Company where comp_companyId=@comp_companyId ";
                    //SqlCommand cmd = new SqlCommand(qry, cn);
                    //SqlDataReader reader = cmd.ExecuteReader();
    
                    Company entity = new Company();
                    entity.Id = 2;
                    entity.Name = "Test";
                    entity.City = "Bangalore";
    
                    //Or
    
                    //if (reader.Read())
                    //{
                    //    entity.Id = int.Parse(reader["comp_companyId"].ToString());
                    //    entity.Name = reader["comp_name"].ToString();
                    //    entity.City = reader["comp_status"].ToString();
                    //}
    
                    return entity;
                }
                else
                {
                    return new Company();
                }
            }
        }
    }
    
    
    
    using System;
    using System.Collections.Generic;
    using System.Web;
    using System.Web.Services;
    using System.Web.Script.Services;
    using System.Web.Script.Serialization;
    using CompanyDisplay;
    
    namespace CompanyDisplay
    {
        [WebService(Namespace = "http://tempuri.org/")]
        [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
        [System.ComponentModel.ToolboxItem(false)]
        [ScriptService]
        public class WebService : System.Web.Services.WebService
        {
            [WebMethod]
            [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
            public string GetCompanyDetails(int id)
            {
                return new JavaScriptSerializer().Serialize(new CompayJqueryUI().GetCompanyDetails(id));
            }
        }
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?