Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我想从列表中读取值<;长期>;使用Ajax并分配给不同的HTML元素_C#_Jquery_Ajax_Asp.net Mvc - Fatal编程技术网

C# 我想从列表中读取值<;长期>;使用Ajax并分配给不同的HTML元素

C# 我想从列表中读取值<;长期>;使用Ajax并分配给不同的HTML元素,c#,jquery,ajax,asp.net-mvc,C#,Jquery,Ajax,Asp.net Mvc,我想从列表中读取值。我有一个静态方法,我在action result方法中调用它。该方法由ajax调用调用。我返回多个整数值,我想在不同的HTML元素中显示它们。这是我的密码: public static List<long> GetCounter() { try { var listofcounters = new List<long>(); using (var db = new DatabaseContext())

我想从
列表中读取值。我有一个静态方法,我在action result方法中调用它。该方法由ajax调用调用。我返回多个整数值,我想在不同的HTML元素中显示它们。这是我的密码:

public static List<long> GetCounter()
{
    try
    {
        var listofcounters = new List<long>();
        using (var db = new DatabaseContext())
        {
            var usercount = db.User.Select(x => x).Count();
            var usercountpending = db.User.Count(x => x.IsApproved == false);
            var visitercounts = db.SiteViewers.Count();
            var todayvisitscount = db.SiteViewers.Count(x => x.VistedDate == DateTime.Now);
            listofcounters.Add(usercount);
            listofcounters.Add(usercountpending);
            listofcounters.Add(visitercounts);
            listofcounters.Add(todayvisitscount);
            return listofcounters;
        }
    }
    catch (Exception ex)
    {
        throw ex;
    }
}


[HttpGet]
public ActionResult CounterValues()
{
    try
    {
        var listofcounters = SuperUserManager.GetCounter();
        return Json(listofcounters, JsonRequestBehavior.AllowGet);
    }
    catch (Exception ex)
    {
        throw ex;
    }
}

您当前的代码将返回一个类似于
[234456768]
的数组。现在,您不知道数组中的哪个项是UserCount(如果查看服务器代码并找到顺序,您就知道了。但它不是清晰可读的代码!)

我建议您创建一个简单的POCO来表示要发送的数据

public class DashboardVm
{
   public long UserCount { set;get;}
   public long PendingUserCount { set;get;}
   public long VisiterCount  { set;get;}
}
让你的
GetCounter
方法返回一个实例,而不是long的列表

public DashboardVm GetCounter()
{
    var vm=new DashboardVm();
    try
    {
        using (var db = new DatabaseContext())
        {
            vm.UserCount = db.User.Select(x => x).Count();
            vm.PendingUserCount = db.User.Count(x => x.IsApproved == false);
            // TO DO : Set other property values as well              
        }
        return vm;
    }
    catch (Exception ex)
    {
        // to do : Log the error so you know what went wrong
        throw;
    }
} 
并返回此方法调用的结果,而不是数组

public ActionResult CounterValues()
{
  var vm=GetCounter();
  return Json(vm, JsonRequestBehavior.AllowGet);
}   
现在,在ajax方法的成功回调中,您可以像

success : function(data){
    $('#labeluser').text(data.UserCount);
    $('#labelpendinguser').text(data.PendingUserCount);
}
success : function(data){
    $('#labeluser').text(data.UserCount);
    $('#labelpendinguser').text(data.PendingUserCount);
}