欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-11 11:57:59
...
新建一般处理程序
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/archive/2012/02/28/2372348.html