当前位置:编程学习 > C#/ASP.NET >>

ajax简单应用代码

ajax简单应用代码

@ 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<product> news = new list<product>();
                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.网页特效serializer();
                context.response.write(jss.serialize(news));
            }

            else
            {

                var data = new

dataset1tableadapters.producttableadapter().getdatabypriceasc((pagenum *

5) - 4, pagenum * 5);
              
                list<product> news = new list<product>();
                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代码//http://www.3ppt.com/design/asp教程x/38279.html

    <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en"

"http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <link href="app_themes/balloonshopdefault/balloonshop.css教程教程"

rel="stylesheet" type="text/css" />
        <link href="pagination.css" rel="stylesheet" type="text/css" />
        <script src="新文件夹1/jscript.js" type="text/javascript">
        </script><script src="新文件夹1/jquery.pagination.js"

type="text/javascript"></script>
        <script type="text/javascript">
            function createlink() {
                $("#pagination a").each(function (i) {
                    if (!isnan(parseint(this.innerhtml))) {
                        this.href = "/balloonshop/balloons-for-

children/message-balloons/page=" + parseint(this.innerhtml);
                    }
                });
            }

            var data;
            $(function () {
                $.post("handler.ashx", { "action": "getpage" }, function

(data123, status) {
                   data=data123;
                   initdata(0);
                
                });
             
            });

            function pageselectcallback(page_id, jq) {
                initdata(page_id);
                return false;
            };
          


            function initdata(pageindx) {

                $.post("handler.ashx", { "action": "getpagedate",

"pagenum": pageindx }, function (data, status) {

                    if (status == "success") {
                        var datas = $.parsejson(data);
                        $("#myul").empty();
                        for (var i = 0; i < datas.length; i++) {
                            var p = datas[i];
                            var li = $("<li>" + "<h3

class='producttitle'> <a href='" + p.path + "'>" + p.name + "</a></h3>"

+
                                                   "<a href='" + p.path

+ "'>" + "<img src=" + "productimages/" + p.thumbnail + " />" + "</a>"
                                                
                                                 +p.description+"<p

class='detailsection'>+ price:"+p.price+"</p></li>");
    
                                   
                                            
      
                           $("#myul").append(li);
       
       
          
      
    

     
                      
                        }

                    };


                });

                $("#pagination").pagination(data, {
                    callback: pageselectcallback,
                    prev_text: '<< 上一页',
                    next_text: '下一页 >>',
                    items_per_page: 5,
                    num_display_entries: 4,
                    current_page: pageindx,
                    num_edge_entries: 1
                });
                createlink();
            }
      
        </script>
    </head>
    <body>
    <a href="catalog.aspx"></a>
     <ul style="list-style-type:none" id="myul"></ul>
     <div id="pagination" class="digg" style="float:left"/>
    </body>
    </html>

    <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en"

"http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <link href="app_themes/balloonshopdefault/balloonshop.css"

rel="stylesheet" type="text/css" />
        <link href="pagination.css" rel="stylesheet" type="text/css" />
        <script src="新文件夹1/jscript.js" type="text/javascript">
        </script><script src="新文件夹1/jquery.pagination.js"

type="text/javascript"></script>
        <script type="text/javascript">
            function createlink() {
                $("#pagination a").each(function (i) {
                    if (!isnan(parseint(this.innerhtml))) {
                        this.href = "/balloonshop/balloons-for-

children/message-balloons/page=" + parseint(this.innerhtml);
                    }
                });
            }

            var data;
            $(function () {
                $.post("handler.ashx", { "action": "getpage" }, function

(data123, status) {
                   data=data123;
                   initdata(0);
                
                });
             
            });

            function pageselectcallback(page_id, jq) {
                initdata(page_id);
                return false;
            };
          


            function initdata(pageindx) {

                $.post("handler.ashx", { "action": "getpagedate",

"pagenum": pageindx }, function (data, status) {

                    if (status == "success") {
                        var datas = $.parsejson(data);
                        $("#myul").empty();
                        for (var i = 0; i < datas.length; i++) {
                            var p = datas[i];
                            var li = $("<li>" + "<h3

class='producttitle'> <a href='" + p.path + "'>" + p.name + "</a></h3>"

+
                                                   "<a href='" + p.path

+ "'>" + "<img src=" + "productimages/" + p.thumbnail + " />" + "</a>"
                                                
                                                 +p.description+"<p

class='detailsection'>+ price:"+p.price+"</p></li>");
    
                                   
                                            
      
                           $("#myul").append(li);
       
       
          
      
    

     
                      
                        }

                    };


                });

    

                $("#pagination").pagination(data, {
                    callback: pageselectcallback,
                    prev_text: '<< 上一页',
                    next_text: '下一页 >>',
                    items_per_page: 5,
                    num_display_entries: 4,
                    current_page: pageindx,
                    num_edge_entries: 1
                });
                createlink();
            }
      
        </script>
    </head>
    <body>
    <a href="catalog.aspx"></a>
     <ul style="list-style-type:none" id="myul"></ul>
     <div id="pagination" clas解决方法:

(把dropdownlist改为客户端html控件select,然后用ajax存储,肯定不会有错误

,但是这里表单有很多需要提交的数据,所以不考虑用客户端html控件)

1、在页面的<%@ page language="c#" autoeventwireup="true"

codefile="default.aspx.cs" inherits="_default" %> 中添加

enableeventvalidation="false";

2、在页面添加隐藏域<input type="hidden" id="inputcity" runat="server" />

,然后用js将dropdownlist选择后的值赋值给隐藏域,

这样后台就可以通过 inputcity.value 来读取到隐藏域的值,也就是省市选择的

值了

s="digg" style="float:left"/>
    </body>
    </html>

补充:asp.net教程,.Net开发
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,