【问题标题】:Can't read values of json data received from controller in a view无法在视图中读取从控制器接收到的 json 数据值
【发布时间】:2016-03-26 19:11:28
【问题描述】:

我有 json 数据,我从控制器传递并使用 ajax get in view 接收。我无法读取视图中的值。请帮忙。我还附上了视图代码和控制器代码。

查看:-

$(function () {

    $('#btn1').click(function () {
        alert('hello');
        $.ajax({
            url: '/TodoList/Check',
            type: 'Get',
            dataType: 'json',
            //contentType: "application/json; charset=utf-8",
            success: function (data) {
               // fs = data[1].FirstName;
                alert(JSON.stringify(data.FirstName));
            }

        })


    });


});

控制器:-

 public JsonResult Check()
        {
            string ConnectionString = ConfigurationManager.ConnectionStrings["EmployeeContext"].ConnectionString;
            SqlDataReader rdr = null;
            List<Employee> l = new List<Employee>();
            Employee e = new Employee();
            int Sal = e.Salary;
            SqlDataAdapter da;
            DataSet ds = new DataSet();
            using (SqlConnection connection = new SqlConnection("data source=.; database=Srivatsava; integrated security=SSPI"))
            {
                connection.Open();
                da = new SqlDataAdapter("select UserName,Pass from UserPass", connection);
                da.Fill(ds);
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    l.Add(new Employee() { FirstName = dr[0].ToString(), LastName = dr[1].ToString() });
                }
                connection.Close();
            }
            //int pageIndex = Convert.ToInt32(page) - 1;
            //int pageSize = rows;
            var todoListsResults = l.Select(
                  a => new
                  {

                      a.FirstName,
                      a.LastName

                  });
           // int totalRecords = todoListsResults.Count();
            //var totalPages = (int)Math.Ceiling((float)totalRecords / (float)rows);
            //if (sord.ToUpper() == "DESC")
            //{
              //  todoListsResults = todoListsResults.OrderByDescending(s => s.FirstName);
                //todoListsResults = todoListsResults.Skip(pageIndex * pageSize).Take(pageSize);
            //}
            //else
            //{
              //  todoListsResults = todoListsResults.OrderBy(s => s.FirstName);
                //todoListsResults = todoListsResults.Skip(pageIndex * pageSize).Take(pageSize);
           // }
            var jsonData = new
            {
             //   total = totalPages,
               // page,
                //records = totalRecords,
                rows = todoListsResults
            };
            return Json(jsonData, JsonRequestBehavior.AllowGet);



        }

【问题讨论】:

    标签: jquery json asp.net-mvc asp.net-ajax


    【解决方案1】:

    在您的 json 对象中有一个名为 rows 的数组来保存您的数据。您的success 回调应如下所示。

    success: function (data) {
         var rows=data.rows;
         alert(rows[0].FirstName);
    
         //use each loop to go through all data
         //$.each(rows, function(){
               //alert(this.FirstName)
         //})
    }
    

    【讨论】:

      【解决方案2】:

      你可以简单地使用这个方法:

      success: function (data) {
           $.each(rows, function(){
                alert(this.FirstName +' ' +this.LastName )
           })
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-04-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多