Asp.net无刷新调用后台实体类数据并以Json格式返回

  • 新建一般处理程序
  • public class Temp
    {
        public int Index { get; set; }
        public string Description { get; set; }
        public string ImagePath { get; set; }
        public DateTime MyDate { get; set; }
    }
     
       //数据源 
        List<Temp> listTemp = new List<Temp>()
        {
            new Temp(){ Index=1,ImagePath="Desert.jpg", Description="图片1",MyDate=DateTime.Now},
            new Temp(){Index=2,ImagePath="Chrysanthemum.jpg", Description="图片2",MyDate=DateTime.Now},
            new Temp(){Index=3,ImagePath="Penguins.jpg", Description="图片3",MyDate=DateTime.Now},
            new Temp(){Index=4,ImagePath="Jellyfish.jpg", Description="图片4",MyDate=DateTime.Now},
            new Temp(){Index=5,ImagePath="Tulips.jpg", Description="图片5",MyDate=DateTime.Now}
        };
    
        public void ProcessRequest(HttpContext context)
        {
            string index = context.Request["Index"];
            string jsonStr = string.Empty;
            foreach (var item in listTemp)
            {
                if (item.Index.ToString() == index)
                {
                    JavaScriptSerializer serializer = new JavaScriptSerializer();
                    jsonStr = serializer.Serialize(item); //序列化为json格式
                    break;
                }
            }
    
            context.Response.Write(jsonStr);
        }
     
  • 前台JS代码
  •   $.getJSON("imageChange.ashx", { Index: i - 1 }, function (result) {
         $("#<%=lblDescription.ClientID %>").text(result.Description);
     $("#<%=Image1.ClientID %>").attr("src", path + result.ImagePath.substr(result.ImagePath.lastIndexOf('/') + 1));
    
        var d = eval("new " + result.MyDate.replace(/\//g, ""));
                        $("#<%=lblDate.ClientID %>").text(Todate(d.ToLocalTime().toString()));
     });
     
  • 前台JS代码
  • //ToLocalTime()将UTC格式数据转换成标准日期格式
    //注意JavaScriptSerializer会将日期序列号为自1970年1月1号的刻度值,所以js获取的时间值需做一些处理转换成标准日期格式
    //详见http://msdn.microsoft.com/zh-cn/library/system.web.script.serialization.javascriptserializer.aspx

    原文地址:https://www.cnblogs.com/gossip/p/2372348.html