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

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,同时也希望多多支持!

您可能有感兴趣的文章
asp.net 获取某个时间段的星期并以表格形式排列出来

ASP.NET自带对象JSON字符串与实体类的转换

.net实体类与json相互转换

解析ABP框架领域层中的实体类与仓储类

ASP.NET中实现根据匿名类、datatable、sql生成实体类