`

Asp.net使用jQuery实现数据绑定与分页

阅读更多

使用jQuery来实现Gridview, Repeater等服务器端数据展示控件的数据绑定和分页。本文的关注重点是数据如何实现数据绑定。

Content

jQuery的强大和可用性使得其迅速的流行起来。微软也发布了一个补丁使得VS支持对jQuery的智能感应。由于Gridview,Repeater等控件的复杂性,使得几乎无法通过javascript在客户端对其进行赋值。但是我们又不想放弃这些控件提供的强大功能和便利性,尤其是我们已经习惯了使用这些控件来展示大量的数据。因此如果能把jQuery和Gridview结合起来使用,那应该是很爽的一件事情。

我最近比较喜欢用Repeater这个控件,所以,这里就用一个Repeater显示查询的结果。

首先在页面上定义好这个控件显示的各个字段:

        <asp:PlaceHolder ID="specialRedeemPlaceHolder" runat="server" Visible="false">
             <table id="specialRedeemInfo">
                <caption>查询结果</caption>
                   <thead>
                    <tr>
                        <th>奖品名称</th>
                        <th>姓名</th>                        
                        <th>美容顾问编号</th>
                        <th>数量</th>
                        <th>所需积分</th>
                        <th>日期</th>
                        <th>状态</th>
                        <th></th>
                    </tr>
                   </thead>
                   <tbody>
                    <asp:Repeater id="rptSpecialRedeemInfo" runat="server" EnableViewState="false" 
                           onitemdatabound="rptSpecialRedeemInfo_ItemDataBound">
                        <ItemTemplate>
                            <tr class="item">
                                <td><%# Eval("PartName") %></td>
                                <td><%# Eval("ConsultantName") %></td>
                                <td><%# Eval("ConsultantID")%></td>
                                <td><%# Eval("Quantity")%></td>
                                <td><%# Eval("PointCost")%></td>
                                <td><%# Eval("InsertedTime")%></td>
                                <td><%# Eval("DisplayStatus")%></td>                                           
                                <td><input id="btnProcess" type="button" runat="server" /></td>                                            
                            </tr>                           
                        </ItemTemplate>
                    </asp:Repeater>
                   </tbody>
                </table>
        </asp:PlaceHolder>
 

 

因为实现的是AJAX的查询,因此可以设置repeater的 EnableViewState=”false”。 这个placeholder定义的是数据显示的格式,而不是显示在网页上的位置。因此需要定义一个显示查询结果的位置,这里定义一个div

        <div id="queryResult">                                       
        </div>
 

OK, 当客户端处理查询事件时,可以利用jQuery的load方法:

        $("#queryResult").load("SpecialRedeemManagement.aspx #specialRedeemInfo",
                         { Func: "Search", ConsultantID: consultantId}, //各个参数
                           ajaxComplete);   //当查询完成时调用这个JS

 

服务器端可以通过Request.Params["Func"]获取各个参数。在 处理这个查询事件时,首先

specialRedeemPlaceHolder.Visible = true; //设置placeholder的visible=true

然后再给repeater绑定数据(太简单就不贴代码了)。(onitemdatabound此事件仍然有效)

再把这个palcecontrol写到Response流中去:

StringWriter tw = new StringWriter();
// *** Simple rendering - just write the control to the text writer
// *** works well for single controls without containers
Html32TextWriter writer = new Html32TextWriter(tw);
this.specialRedeemPlaceHolder.RenderControl(writer);
writer.Close();

Response.Write(tw.ToString());
Response.End();
解释一下这句:$("#queryResult").load("SpecialRedeemManagement.aspx #specialRedeemInfo",
 

加上"#specialRedeemInfo”会使jQuery只获取返回的Response中id为specialRedeemInfo的控件那部分。好处就是在一个查询中,如果需要的话,可以返回多个供显示的控件流。

除此之外,还有一点需要做的就是重写一个方法:

public override void VerifyRenderingInServerForm(Control control)
{
    //base.VerifyRenderingInServerForm(control);
}
至于这个方法是做什么的,呵呵,有兴趣的自己去查一下吧
分享到:
评论

相关推荐

    ASP.NET与JQuery实现超炫图片展示

    ASP.NET和jQuery是两种在Web开发中广泛使用的技术,它们结合使用可以创建出交互性强、用户体验优秀的图片展示功能。在本教程中,我们将探讨如何利用ASP.NET和jQuery来实现一个超炫的图片展示系统。 首先,ASP.NET是...

    ASP.NET利用MVC框架及JQuery技术实现登录、分页及等待

    综上所述,这个主题涵盖了ASP.NET MVC的登录实现、JQuery驱动的数据分页和等待效果,是Web开发中常见的功能实现,对于提升用户体验和网站性能具有重要意义。通过深入理解和掌握这些技术,开发者能构建出更加高效和...

    Asp.net JQuery无刷新分页

    **Asp.net与jQuery无刷新分页技术详解** 在网页应用中,用户界面的响应速度是用户体验的关键因素之一。传统的Web应用在进行分页操作时,通常会通过页面跳转或者完全刷新整个页面来实现,这无疑会影响用户体验,因为...

    asp.net+jquery+json+分页

    总结来说,这个项目展示了如何在ASP.NET中利用jQuery进行Ajax请求,结合JSON传输数据,实现动态分页。用户无须刷新整个页面,只需点击分页按钮,后台就能通过Handler处理请求,返回指定页码的数据,再由jQuery更新...

    一个基于ASP.net+Jquery+GridView实现无刷新TreeGrid源码例子

    总结,这个基于ASP.NET+jQuery+GridView的无刷新TreeGrid示例,展示了如何结合使用这些技术实现复杂的数据展示和交互功能。通过理解并实践这个例子,开发者可以提升在Web开发中的技能,特别是在处理大数据和构建高效...

    【ASP.NET编程知识】ASP.NET笔记之 行命令处理与分页详解.docx

    * asp.net 中利用 Jquery+Ajax+Json 实现无刷新分页的实例代码 * Asp.Net 其他页面如何调用 Web 用户控件写的分页 * asp.net 实现 access 数据库分页的方法 * ASP.NET MVC 5 使用 X.PagedList.Mvc 进行分页教程...

    .net 类的JQuery分页.net 类的JQuery分页

    在.NET开发中,jQuery分页是一种常见的用于网页数据展示的技术,尤其在大数据量的列表或者表格中,分页能够提高用户体验,避免一次性加载过多数据导致页面加载缓慢。本项目主要探讨了如何在.NET环境中结合jQuery实现...

    ASP.NET源码——jquery无刷新分页、排序.zip

    总的来说,这个项目涵盖了客户端脚本(jQuery)与服务器端逻辑(ASP.NET)的协作,是Web开发中常见的技术组合,对于学习和提升ASP.NET与jQuery的集成应用具有很高的参考价值。通过深入研究这个源码,开发者可以学习...

    ASP.NET分页代码

    DataPager控件是专为分页设计的,它与GridView或ListView等数据绑定控件配合工作,提供导航链接,让用户可以轻松地在不同页面间切换。 3. GridView控件的分页 GridView是最常用的数据显示控件之一,它支持内置的...

    asp.net 异步分页

    4. **数据绑定**:ASP.NET提供了多种控件支持异步分页,如`GridView`、`ListView`等,但在这个场景下,描述中提到“没有任何的控件”,这意味着可能采用了自定义的数据绑定方式。开发者可能使用`Repeater`控件配合...

    asp.net分页案例

    ASP.NET 是微软开发的一种Web应用...通过学习和实践这个案例,开发者可以深入理解ASP.NET中如何结合jQuery实现动态分页,以及如何处理与数据库的交互。这是一项重要的技能,对于开发高效、用户友好的Web应用至关重要。

    asp.net mvc中实现卷轴网格报表

    2. **数据绑定**:在ASP.NET MVC中,数据绑定是将模型数据与视图元素关联的过程。对于卷轴网格报表,通常会使用`@Html助手`如`@Html.Grid()`或第三方库如Kendo UI的`kendoGrid`来绑定数据源。 3. **jQuery和...

    asp.net处理不规则表格 结合jquery处理不规则表格

    使用ASP.NET表格控件,我们需要将数据源(如SQL数据库、XML文件或.NET集合)绑定到控件上。对于不规则表格,可能需要使用嵌套的数据结构来反映其复杂性。例如,使用DataTable的NestedView功能可以创建多级表格。 3...

    ASP.NET绑定照片并分页显示

    综上所述,实现"ASP.NET绑定照片并分页显示"这一功能,需要掌握ASP.NET的文件上传、图片预览、数据库操作、数据绑定以及分页技术。同时,还需要关注性能优化和安全性问题,确保应用程序的稳定性和用户体验。

    ASP.NET分页、水印图片、存储过程、分页用户控件、Ajax、JQuery

    在ASP.NET中,JQuery可以与Ajax一起使用,实现更灵活的交互效果。例如,可以使用JQuery选择器找到特定元素,然后绑定click事件,触发Ajax请求更新页面部分。 综上所述,ASP.NET结合这些技术可以构建高效、交互性强...

    asp.net行数据拖拽重新排序

    综上所述,"asp.net行数据拖拽重新排序"是一个结合了ASP.NET、jQuery和GridView功能的实例,它实现了用户友好的数据排序体验。通过这种方式,开发者可以创建更加动态和交互式的Web应用程序,提高用户满意度。在实际...

    .NET利用jqury+ajax+json方式实现的数据分页

    本示例将介绍如何使用jQuery、Ajax和JSON在.NET环境中实现数据分页。下面将详细阐述这个过程。 首先,jQuery是一个轻量级的JavaScript库,它简化了DOM操作、事件处理和Ajax交互。在数据分页中,jQuery用于在客户端...

    ASP.NET源码——GridView+Jquery实现的TreeGrid.zip

    在本压缩包"ASP.NET源码——GridView+Jquery实现的TreeGrid.zip"中,我们聚焦于一个特定的功能:使用GridView控件和jQuery库来创建一个TreeGrid。TreeGrid是一种混合了树形结构和表格视图的用户界面元素,它允许用户...

    asp.net中分页的实现

    为了提供更流畅的用户体验,可以使用jQuery插件(如jQuery DataTables)或ASP.NET AJAX来实现无刷新分页。这需要在后端创建Web服务或WCF服务,返回JSON或XML数据,然后在前端使用JavaScript处理分页。 **5. 自定义...

Global site tag (gtag.js) - Google Analytics