ASPX高性能分页.docx
- 文档编号:11260690
- 上传时间:2023-02-26
- 格式:DOCX
- 页数:25
- 大小:1.40MB
ASPX高性能分页.docx
《ASPX高性能分页.docx》由会员分享,可在线阅读,更多相关《ASPX高性能分页.docx(25页珍藏版)》请在冰豆网上搜索。
ASPX高性能分页
[ASP.NET]强类型DataSet、ObjectDataSource、GridView、FormView快速实现数据分页展示、添加、修改和删除
ASP.NET为我们提供了功能非常强大的数据访问、展示、操作的控件合对象,比如GridView、FormView控件,配合强类型的DataSet和ObjectDataSource控件,我们可以很快速的以N层结构来管理开发我们的数据。
本文主要讲解如何结合上述对象高效快速的开发我们的Web数据应用程序,关于它们的具体示例和说明请参考MSDN上相应文档:
使用强类型(类型化的)DataSet
使用ASP.NET2.0ObjectDataSource控件
GridView类参考
FormView控件参考
下面按步骤说明,在Access数据库中运用上述控件,如有问题请回复。
一,创建解决方案DataAccessingSample以及DataAccessingSample数据库
如下图所示创建Web应用程序:
在App_Data文件夹下创建Access数据库DataAccessingSample.mdb;此数据库包含一个表Notes,即留言表,其结构如下:
二,添加强类型的DataSet
DataSet数据集是数据表DataTable的集合,而强类型的DataSet即是继承自DataTable的强类型的DataTable的集合。
在VS中添加强类型DataSet后,会自动的生成强类型的数据表DataTable以及Adaptor用于添加删除数据等,可以直接供ObjectDataSource使用。
在Web应用程序项目下,添加文件夹DAL,即数据访问层。
在DAL下添加DataSet名称为NotesData:
打开此数据集,在工具箱中拖拽TableAdaptor,当项目无数据库连接时,会提示创建数据库连接:
点击查询生成器,生成查询:
最终如下:
单击下一步完成。
自此我们的强类型数据集创建完毕了:
查看NotesData.Designer.cs可以看到VS以及自动帮我们生成强类型的数据表,一些相关事件以及TableAdaptor,并且给相应的方法标注了DataObjectMethodAttribute,我们可以直接在ObjectDataSource中使用。
三,在Default,aspx中添加ObjectDataSource,GridView,FormView控件
在页面中添加ObjectDataSource控件命名为ObjectDataSourceNotes,并配置数据源(配置之前请记得生成下项目):
定义数据方法,一般情况下,VS会自动设置TableAdaptor中的对应方法:
点击完成,即可查看到生成的控件标记如下:
ObjectDataSourceID="ObjectDataSourceNotes"runat="server" DeleteMethod="Delete"InsertMethod="Insert" OldValuesParameterFormatString="original_{0}"SelectMethod="GetNotes" TypeName="DataAccessingSample.DAL.NotesDataTableAdapters.NotesTableAdapter" UpdateMethod="Update"> ParameterName="Original_NoteID"Type="Int32"/> ParameterName="Original_NoteTitle"Type="String"/> ParameterName="Original_AddDateTime"Type="DateTime"/> ParameterName="Original_NoteUser"Type="String"/> ParameterName="NoteTitle"Type="String"/> ParameterName="NoteContent"Type="String"/> ParameterName="AddDateTime"Type="DateTime"/> ParameterName="NoteUser"Type="String"/> ParameterName="NoteTitle"Type="String"/> ParameterName="NoteContent"Type="String"/> ParameterName="AddDateTime"Type="DateTime"/> ParameterName="NoteUser"Type="String"/> ParameterName="Original_NoteID"Type="Int32"/> ParameterName="Original_NoteTitle"Type="String"/> ParameterName="Original_AddDateTime"Type="DateTime"/> ParameterName="Original_NoteUser"Type="String"/> ObjectDataSource> 从工具箱中拖拽GridView控件,设置其样式和数据源为刚添加的ObjectDataSource: 此控件的标记代码如下: GridViewID="GridViewNotes"runat="server"AllowPaging="True" AutoGenerateColumns="False"CellPadding="4"DataKeyNames="NoteID" DataSourceID="ObjectDataSourceNotes"EnableModelValidation="True" ForeColor="#333333"PageSize="5"> BoundFieldDataField="NoteID"HeaderText="NoteID"InsertVisible="False" ReadOnly="True"SortExpression="NoteID"/> BoundFieldDataField="NoteTitle"HeaderText="NoteTitle" SortExpression="NoteTitle"/> BoundFieldDataField="NoteContent"HeaderText="NoteContent" SortExpression="NoteContent"/> BoundFieldDataField="AddDateTime"HeaderText="AddDateTime" SortExpression="AddDateTime"/> BoundFieldDataField="NoteUser"HeaderText="NoteUser" SortExpression="NoteUser"/> CommandFieldShowDeleteButton="True"ShowEditButton="True" ShowSelectButton="True"/> 还没有留言。 GridView> 生成项目打开页面,可以看到如下效果,目前尚无记录: 为了方便添加记录,我们在页面中拖拽一个按钮,以及一个FormView控件(数据源亦为ObjectDataSourceNotes),单击此按钮则显示FormView,FormView默认为添加模式,添加完毕后隐藏FormView。 这两个控件标记如下: ButtonID="ButtonAddNote"runat="server"onclick="ButtonAddNote_Click" Text="AddNote"/> FormViewID="FormViewNotes"runat="server"CellPadding="4" DataKeyNames="NoteID"DataSourceID="ObjectDataSourceNotes"DefaultMode="Insert" EnableModelValidation="True"ForeColor="#333333"GridLines="Both" oniteminserted="FormViewNotes_ItemInserted"Visible="False"> NoteID: LabelID="NoteIDLabel1"runat="server"Text='<%#Eval("NoteID")%>'/> NoteTitle: TextBoxID="NoteTitleTextBox"runat="server" Text='<%#Bind("NoteTitle")%>'/> NoteContent: TextBoxID="NoteContentTextBox"runat="server" Text='<%#Bind("NoteContent")%>'/> AddDateTime: TextBoxID="AddDateTimeTextBox"runat="server" Text='<%#Bind("AddDateTime")%>'/> NoteUser: TextBoxID="NoteUserTextBox"runat="server" Text='<%#Bind("NoteUser")%>'/> LinkButtonID="UpdateButton"runat="server"CausesValidation="True" CommandName="Update"Text="更新"/> LinkButtonID="UpdateCancelButton"runat="server" CausesValidation="False"CommandName="Cancel"Text="取消"/> Add/Modify/ViewNote NoteTitle: TextBoxID="NoteTitleTextBox"runat="server" Text='<%#Bind("NoteTitle")%>'/> NoteContent: TextBoxID="NoteContentTextBox"runat="server" Text='<%#Bind("NoteContent")%>'/> AddDateTime: TextBoxID="AddDateTimeTextBox"runat="server" Text='<%#Bind("AddDateTime")%>'/> NoteUser: TextBoxID="NoteUserTextBox"runat="server" Text='<%#Bind("NoteUser")%>'/> LinkButtonID="InsertButton"runat="server"CausesValidation="True" CommandName="Insert"Text="插入"/> LinkButtonID="InsertCancelButton"runat="server" CausesValidation="False"CommandName="Cancel" onclick="InsertCancelButton_Click"Text="取消"/> NoteID: LabelID="NoteIDLabel"runat="server"Text='<%#Eval("NoteID")%>'/> NoteTitle: LabelID="NoteTitleLabel"runat="server"Text='<%#Bind("NoteTitle")%>'/> NoteContent: LabelID="NoteContentLabel"runat="server" Text='<%#Bind("NoteContent")%>'/> AddDateTime: LabelID="AddDateTimeLabel"runat="server" Text='<%#Bind("AddDateTime")%>'/> NoteUser: LabelID="NoteUserLabel"runat="server"Text='<%#Bind("NoteUser")%>'/> LinkButtonID="EditButton"runat="server"CausesValidation="False" CommandName="Edit"Text="编辑"/> LinkButtonID="DeleteButton"runat="server"CausesValidation="False" CommandName="Delete"Text="删除"/> LinkButtonID="NewButton"runat="server"CausesValidation="False" CommandName="New"Text="新建"/> FormView> Code-Behind代码如下: usingSystem; usingSystem.Collections.Generic; usingSystem.Web; usingSystem.Web.UI; usingSystem.Web.UI.WebControls; namespaceDataAccessingSample { publicpartialclass_Default: System.Web.UI.Page { protectedvoidPage_Load(objectsender,EventArgse) { } protectedvoidButtonAddNote_Click(objectsender,EventArgse) { this.FormViewNotes.Visible=true; } protectedvoidInsertCancelButton_Click(objectsender,EventArgse) { this.FormVi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASPX 性能 分页