• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > 在ASP.NET 2.0中操作数据之二十八:GridView里的Button

在ASP.NET 2.0中操作数据之二十八:GridView里的Button

作者:heker2007 字体:[增加 减小] 来源:互联网 时间:2017-05-11

heker2007通过本文主要向大家介绍了gridview asp.net,asp:gridview,asp gridview分页,asp:gridview属性,asp:button等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

导言

  一般控件(比如GridView)显示数据的时候对数据只能读取,而需要处理数据的功能是非常常见的.典型的情况是为每行数据添加一个Button, LinkButton, 或ImageButton . 当点击这些button时,数据会PostBack,执行一些服务器端的代码. 一条条的编辑或删除数据是最常见的情况.实际上,编辑和删除是如此常见,从概述插入、更新和删除数据 开始, 我们可以看到GridView, DetailsView, 和 FormView可以零代码的完成这些功能.

  除了编辑和删除button,GridView, DetailsView, and FormView 也可以包含一些执行自定义服务器端代码的Buttons, LinkButtons, 或 ImageButtons .在这一章我们来看看如何向一个GridView 或 DetailsView 里添加自定义的button.我们还将创建一个根据supplier进行分页的页面.对每个给定的supplier,FormView会显示它的相关信息,外加一个Button .点击这个Button 时,所有相关products会被标记为停止使用.另外,GridView 会列出选定的supplier提供的所有product ,并且每一行会包含“Increase Price”和“Discount Price”两个Button.这两个Button用来提高或降低10%的product单价(见图一).

http://files.weikejianghu.com/file_images/article/201605/201605090907328.png

图 1: FormView和GridView 都包含了执行自定义行为的Button

第一步: 添加一个Button 教程页

  在研究如何添加自定义button之前,我们先花一点时间在网站里创建一些页,这些页会在本指南里用到.先添加一个名为CustomButtons的文件夹,然后添加如下的两个页.添加页的时候确保每页都选择了Site.master作为母板页.

    Default.aspx
    CustomButtons.aspx

http://files.weikejianghu.com/file_images/article/201605/201605090907329.png

图 2: 添加本指南需要的页面

  象其它文件夹一样,CustomButtons 文件夹里的Default.aspx 用来列出教程章节.记得SectionLevelTutorialListing.ascx 这个用户控件提供了这个功能.因此,从解决方案浏览里将这个用户控件拖到页面上.

http://files.weikejianghu.com/file_images/article/201605/2016050909073210.png

图 3: 添加SectionLevelTutorialListing.ascx 用户控件 到Default.aspx

最后,将这些页的地址加到 Web.sitemap 的条目里.在Paging and Sorting <siteMapNode>之后添加下面的标记.

<siteMapNode
 title="Adding Custom Buttons"
 description="Samples of Reports that Include Buttons for Performing
 Server-Side Actions"
 url="~/CustomButtons/Default.aspx">
 <siteMapNode
 title="Using ButtonFields and Buttons in Templates"
 description="Examines how to add custom Buttons, LinkButtons,
 or ImageButtons as ButtonFields or within templates."
 url="~/CustomButtons/CustomButtons.aspx" />
</siteMapNode>

</div>

修改完Web.sitemap后,在浏览器里看一下本教程站点,现在左边的菜单里包含了编辑,插入,删除教程的项.

http://files.weikejianghu.com/file_images/article/201605/2016050909073311.png

图 4:  Site Map包含了添加自定义button教程

第二步: 添加一个列出 Supplier的FormView

  我们首先来添加一个列出suppliers的FormView .正如在导言里讨论的那样,FormView根据supplier分页,并在GridView显示supplier 提供的所有product .另外FormView 会包含一个Button .当点击时,所有相关products会被标记为停止使用.在我们为FormView添加自定义button之前,我们首先创建显示supplier 信息的FormView .

  打开CustomButtons文件夹里的CustomButtons.aspx 页,从工具箱里拖一个FormView进来,将FormView的ID设置为Suppliers.打开FormView的智能标签,创建一个名为SuppliersDataSource的ObjectDataSource.

http://files.weikejianghu.com/file_images/article/201605/2016050909073312.png

图 5: 创建一个名为SuppliersDataSource的ObjectDataSource

  选择SuppliersBLL 类的GetSuppliers()方法配置ObjectDataSource(见图6).由于这个FormView没有提供修改supplier 信息的界面,所以在UPDATE 标签的下拉列表里选择None.

http://files.weikejianghu.com/file_images/article/201605/2016050909073313.png

图 6: 使用 SuppliersBLL 类的GetSuppliers() 方法配置数据源

  数据源配置完成后,Visual Studio会生成一个InsertItemTemplate,一个EditItemTemplate和一个FormView的ItemTemplate.去掉InsertItemTemplate 和EditItemTemplate ,修改ItemTemplate,让它只显示supplier的公司名,电话号码.最后,在智能标签里选中Enable Paging checkbox 或者设置AllowPaging 属性为True.完成这些后,你的声明标记看起来应该和以下差不多:

<asp:FormView ID="Suppliers" runat="server" DataKeyNames="SupplierID"
 DataSourceID="SuppliersDataSource" EnableViewState="False" AllowPaging="True">
 <ItemTemplate>
 <h3>
 <asp:Label ID="CompanyName" runat="server"
 Text='<%# Bind("CompanyName") %>' />
 </h3>
 <b>Phone:</b>
 <asp:Label ID="PhoneLabel" runat="server" Text='<%# Bind("Phone") %>' />
 </ItemTemplate>
</asp:FormView>
<asp:ObjectDataSource ID="SuppliersDataSource" runat="server"
 OldValuesParameterFormatString="original_{0}"
 SelectMethod="GetSuppliers" TypeName="SuppliersBLL">
</asp:ObjectDataSource>

</div>

http://files.weikejianghu.com/file_images/article/201605/2016050909073314.png

图 7: FormView列出当前选定的Supplier的CompanyName and Phone

第三步 : 添加一个GridView,用来列出某个Supplier的所有Product

  在添加“Discontinue All Products”Button 前,先在FormView 下面添加一个GridView . 设置ID 为SuppliersProducts,添加一个名为SuppliersProductsDataSource的ObjectDataSource .

http://files.weikejianghu.com/file_images/article/201605/2016050909073315.png

图 8: 创建一个名为SuppliersProductsDataSource的ObjectDataSource

  选择ProductsBLL 类的GetProductsBySupplierID(supplierID)方法配置ObjectDataSource(见图9).虽然GridView 允许修改product的价格,但是并不使用的GridView自带的编辑或删除功能.因此在UPDATE, INSERT, and DELETE 标签的下拉列表里都选择None.

http://files.weikejianghu.com/file_images/article/201605/2016050909073316.png

图 9: 使用ProductsBLL 类的GetProductsBySupplierID(supplierID) 方法配置数据源

  由于GetProductsBySupplierID(supplierID)有一个输入参数,ObjectDataSource向导会提示我们配置这个参数.为了将SupplierID 从FormView传过来,在参数来源的下来列表里选择Control,在ControlID 下拉列表里选择Suppliers (在第二步里创建的FormView 的ID).

http://files.weikejianghu.com/file_images/article/201605/2016050909073417.png

图 10: 指定 supplierID 参数的来源为Suppliers FormView

  完成了ObjectDataSource 向导后,GridView 里的每一行product会包含一个BoundField 和一个CheckBoxField . 我们来精简一下,只显示Discontinued CheckBoxField,ProductName 和UnitPrice .我们修改UnitPrice 列的格式为货币. 你的GridView 和SuppliersProductsDataSource  ObjectDataSource的声明标记看起来应该和下面差不多:

<asp:GridView ID="SuppliersProducts" AutoGenerateColumns="False"
 DataKeyNames="ProductID" DataSo



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ASP.NET GridView的Bootstrap分页样式
  • asp.net实现固定GridView标题栏的方法(冻结列功能)
  • 在ASP.NET 2.0中操作数据之六十四:GridView批量添加数据
  • 在ASP.NET 2.0中操作数据之六十三:GridView实现批量删除数据
  • 在ASP.NET 2.0中操作数据之六十二:GridView批量更新数据
  • 在ASP.NET 2.0中操作数据之五十一:从GridView的页脚插入新记录
  • 在ASP.NET 2.0中操作数据之四十九:为GridView控件添加RadioButton
  • 在ASP.NET 2.0中操作数据之二十八:GridView里的Button
  • 在ASP.NET 2.0中操作数据之十五:在GridView的页脚中显示统计信息
  • 在ASP.NET 2.0中操作数据之十二:在GridView控件中使用TemplateField

相关文章

  • 2018-08-20IIS部署asp.net mvc网站的方法
  • 2017-05-11ASP.NET缓存处理类实例
  • 2017-05-11ASP.NET对HTML页面元素进行权限控制(三)
  • 2017-05-11创建完全可编辑的 DataGrid
  • 2017-05-11创建第一个ASP.NET应用程序(第1节)
  • 2017-05-11Asp.net回调技术Callback学习笔记
  • 2017-05-11asp.net 操作XML 按指定格式写入XML数据 WriteXml
  • 2018-08-20C# winform打印excel的方法
  • 2017-05-11asp.net 修饰符介绍(关于public、private、protected、internal)
  • 2017-05-11详解ASP.NET Core 之 Identity 入门(二)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 页面爬虫(获取其他页面HTML)加载到自己页面示例
    • ASP.NET获取URL方法汇总
    • .Net 下区别使用 ByRef/ByVal 的重要性 分享
    • ASP.NET中 ObjectDataSource控件的DataObjectTypeName属性
    • asp.net字符串处理类代码
    • ASP.NET入门之HTML服务器控件概述
    • ASP.NET站点导航应用详解
    • .NET framework 4.0 安装失败回滚问题
    • C#.Net 学习笔记(一)
    • asp.net音频转换之.amr转.mp3(利用ffmpeg转换法)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有