asp.net ajax 简单应用实例

作者:袖梨 2022-06-25

asp教程.net文件

@ webhandler language="c#" class="handler"  %>

using system;
using system.web;
using system.collections.generic;
using system.data;

 

public class handler : ihttphandler
{
    public void getpage( httpcontext context)
    {
        int pagenum = convert.toint32(context.request["pagenum"]); pagenum++;
        if (pagenum <= 3)
        {
            dataset1.productdatatable cachedata = (dataset1.productdatatable)context.cache["cachekey"];
            if (cachedata == null)
            {
                cachedata = new dataset1tableadapters.producttableadapter().getdatabypriceasc(1, 15);
                context.cache.insert("cachekey", cachedata, null, system.web.caching.cache.noabsoluteexpiration, timespan.fromseconds(80));
            }
            list news = new list();
            for (int i = (pagenum * 5) - 4; i <= pagenum * 5; i++)
            {
                dataset1.productrow row = cachedata[i - 1];
                string s = link.toproduct(row.productid.tostring());
                news.add(new product()
                {
                    name = row.name,
                    description = row.description,
                    price = row.price.tostring(),
                    thumbnail = row.thumbnail,
                    path = s
                });


            }
            system.web.script.serialization.网页特效serializer jss = new system.web.script.serialization.javascriptserializer();
            context.response.write(jss.serialize(news));
        }

        else
        {

            var data = new dataset1tableadapters.producttableadapter().getdatabypriceasc((pagenum * 5) - 4, pagenum * 5);
           
            list news = new list();
            for (int i =0; i <5; i++)
            {
                dataset1.productrow row = data[i];
                string s = link.toproduct(row.productid.tostring());
                news.add(new product()
                {
                    name = row.name,
                    description = row.description,
                    price = row.price.tostring(),
                    thumbnail = row.thumbnail,
                    path = s
                });


            }
            system.web.script.serialization.javascriptserializer jss = new system.web.script.serialization.javascriptserializer();
            context.response.write(jss.serialize(news));
       
        }

     }
    public void processrequest (httpcontext context)
    {
        context.response.contenttype = "text/plain";
        string action = context.request["action"];
        if (action == "getpage")
        {
            int allcount = new dataset1tableadapters.producttableadapter().getcount().value;
            context.response.write(allcount);
          
        }
        else if (action == "getpagedateasc")
        {
           
            getpage("getpagedateasc", context);
        }
        else if (action == "getpagedatedesc")
        {
            getpage("getpagedatedesc", context);
        }
       
    }
 
 
    public bool isreusable
    {
        get
        {
            return false;
        }
    }
   
   

}
public class product
{
    public string name { set; get; }
    public string description { set; get; }
    public string price { set; get; }
    public string thumbnail { set; get; }
    public string path { set; get; }

}      


html代码



   
    css" />
   
   
   



 


     

    相关文章

    精彩推荐