• 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数据绑定之DataList控件实战篇

ASP.NET数据绑定之DataList控件实战篇

作者:廊坊师范学院周坤 字体:[增加 减小] 来源:互联网 时间:2017-05-11

廊坊师范学院周坤通过本文主要向大家介绍了asp.net,asp net培训,asp和asp.net的区别,零基础学asp.net,c#和asp.net的区别等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

上篇文章大概讲了DataList的一些基础知识,掌握这些知识在将来的应用中起到很大的作用,现在我们就开始讲上篇文章中说的基础知识做一个小例子。
    首先,我机子的数据库中有一张person表,如下图所示。


现在,我们用DataList控件将表中的信息显示出来,并可以在DataList控件上对数据库中的表进行编辑操作。
    1、首先用vs创建web应用程序,添加web窗体,在web窗体内拉入DataList控件,右击控件,选择编辑项模板,在这里我们能看到四个模板,其中两个是SelectedItemTemplate和EditItemTemplate,在ItemTemplate模板中拉入两个LinkButton控件,一个将Text改名为查看,CommandName属性改成select,另外一个将Text改成编辑,其CommandName属性改成edit。然后在HTML页面创建SelectedItemTemplate模板,在模板中绑定员工的所有信息。(这里是实现查看员工详细信息的功能)。
    2、在EditItemTemplate模板项中添加两个LinkButton控件,Text属性分别为保存和取消,CommandName属性分别为update和cancel,然后再添加一个TextBox控件,用来输入姓名,在这里实现修改员工姓名的功能。
    3、我们还可以在属性生成器总更改表格的样式、将字体的颜色、网格的距离更改一下,这里详细不住不再敖述,最后结束模板编辑。
    4、编辑前台HTML代码
    ItemTemplate模板中的代码(用来显示员工的姓名)

<ItemTemplate> 
 <asp:LinkButton ID="lbtnShowDetails" runat="server" CommandName="select" ForeColor="Red">查看</asp:LinkButton> 
 <asp:LinkButton ID="lbtnEdit" runat="server" CommandName="edit" ForeColor="Red">编辑</asp:LinkButton> 
 <%# DataBinder.Eval(Container.DataItem,"personName") %> 
</ItemTemplate> 
</div>

    SelectedItemTemplate模板中的代码(用来显示员工中的详细信息)

 <SelectedItemTemplate> 
 员工编号: <%# DataBinder.Eval(Container.DataItem,"pID") %> 
 <br /> 
 员工姓名: <%# DataBinder.Eval(Container.DataItem,"personName") %> 
 <br /> 
 员工性别: <%# DataBinder.Eval(Container.DataItem,"personSex") %> 
</SelectedItemTemplate> 
</div>

    EditItemTemplate模板中的代码(用来修改员工姓名)注意:将文本框中的text属性绑定到员工的姓名上。

<EditItemTemplate> 
 <asp:LinkButton ID="lbtnupdate" runat="server" CommandName="update">保存</asp:LinkButton> 
 <asp:LinkButton ID="lbtnCancel" runat="server" CommandName="cancel">取消</asp:LinkButton> <br /> 
 员工编号:<%# DataBinder.Eval(Container.DataItem,"pID") %><br />姓名:<asp:TextBox ID="txtName" runat="server" <span style="color:#FF0000;">Text='<%# DataBinder.Eval(Container.DataItem,"personName") %>'</span> Width="50px"></asp:TextBox> 
</EditItemTemplate> 
</div>

   最后是页眉和页脚模板

<HeaderTemplate> 
  模板的页眉 
 </HeaderTemplate> 
 <FooterTemplate> 
  <br /> 
  模板的页脚 
 </FooterTemplate> 
</div>

   5、编辑好了的前台界面如下
       

    6、后台代码的编写
    6.1、 编写DataList数据绑定的方法

private void dataBindToDataList() 
  { 
   SqlConnection con = DB.createConnection(); 
   SqlDataAdapter sda = new SqlDataAdapter(); 
   string sql = "select * from person "; 
   sda.SelectCommand = new SqlCommand(sql, con); 
   DataSet ds = new DataSet(); 
   sda.Fill(ds, "per"); 
   DataList1.DataKeyField = "pID"; //将主键存入到DataKeys集合当中,以便后面对某一条数据进行编辑。 
   DataList1.DataSource = ds.Tables["per"]; 
   DataList1.DataBind(); 
  } 
</div>

    6.2、编写Page_Loda事件,判断页面是否第一次加载,并在第一次加载页面时绑定数据。

protected void Page_Load(object sender, EventArgs e) 
  { 
   if (!this.IsPostBack) 
   { 
    this.dataBindToDataList(); 
   } 
  } 
</div>

   6.3、编写DataList1_ItemCommand事件,实现查看员工详细信息功能(前提是我们已经在SelectedItemTemplate模板中将员工的详细信息已经绑定,现在只是调用方法将其显示出来)

protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)// e表示DataList传递给该函数的信息。 
  { 
   if (e.CommandName == "select") 
   { 
    this.DataList1.SelectedIndex = e.Item.ItemIndex; 
    this.dataBindToDataList(); 
   } 
  } 
</div>

6.4、编写DataList1_EditCommand事件,实现编辑功能,将EditItemTemplate模板中的信息显示出来。

protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)// e表示DataList传递给该函数的信息。 
  { 
   this.DataList1.EditItemIndex = e.Item.ItemIndex;//e.Item表示DataList中发生事件的那一项 
   this.dataBindToDataList(); 
 
  } 
</div>

   这时候,编辑模板项的绑定信息就会显示出来,我们可以在这更改姓名,或者取消编辑,效果图如下

       

                                                

     最后是取消修改功能的代码、更新功能的代码、删除功能的代码,事件分别为DataList1_CancelCommand、DataList1_UpdateCommand、DataList1_DeleteCommand。

protected void DataList1_CancelCommand(object source, DataListCommandEventArgs e)// e表示DataList传递给该函数的信息。 
  { 
   DataList1.EditItemIndex = -1; //当EditItemIndex属性值为-1时,表示不显示EditItemTemplate模板 
   dataBindToDataList(); 
  } 
 
  protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e) 
  { 
    string ID =DataList1.DataKeys[e.Item.ItemIndex].ToString(); 
    string name = ((TextBox)e.Item.FindControl("txtName")).Text ; 
    SqlConnection con = DB.createConnection(); 
    SqlCommand cmd = new SqlCommand("update person set personName='"+name+"'where pID='"+ID+"'",con); 
    cmd.ExecuteNonQuery(); 
    DataList1.EditItemIndex = -1; 
    dataBindToDataList(); 
  } 




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

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

  • Asp.net SignalR 应用并实现群聊功能 开源代码
  • asp.net动态更新
  • asp.net利用母版制作页脚效果
  • Asp.Net服务器发送HTTP标头后无法设置内容类型的问题解决
  • 使用asp.net mvc,boostrap及knockout.js开发微信自定义菜单编辑工具(推荐)
  • 详解ASP.NET MVC 常用扩展点:过滤器、模型绑定
  • ASP.NET Core发送邮件的方法
  • 在ASP.NET Core 中发送邮件的实现方法(必看篇)
  • ASP.NET MVC从视图传参到控制器的几种形式
  • Asp.net core WebApi 使用Swagger生成帮助页实例

相关文章

  • 2017-05-11Asp.NET 随机码生成基类(随机字母,随机数字,随机字母+数字)
  • 2017-05-11客户端用JavaScript填充DropDownList控件 服务器端读不到值
  • 2017-05-11NopCommerce架构分析之(七)主题Theme皮肤管理器
  • 2017-05-11asp.net及javascript判断是否手机访问的方法
  • 2017-05-11System.Web中不存在类型或命名空间名称“Optimization”(是否缺少程序集引用?)
  • 2017-05-11一个伴随ASP.NET从1.0到4.0的OutputCache Bug介绍
  • 2017-05-11asp.net 上传图片并同时生成缩略图的代码
  • 2018-08-20ASP.NET MVC学习教程之Razor语法
  • 2017-05-11设置ASP.NET页面的运行超时时间详细到单个页面及站点
  • 2017-05-11ASP.NET 连接ACCESS数据库的简单方法

文章分类

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

最近更新的内容

    • repeater分页 内容显示
    • NET页面导出Excel实例代码
    • asp.net中Request.QueryString与Request.Param的区别分析
    • 一个简单MVC5 + EF6示例分享
    • C#实现上传照片到物理路径,并且将地址保存到数据库的小例子
    • ASP.NET中Application和Cache的区别分析
    • MVC数据验证详解
    • asp.net2.0中css失效的解决方法
    • .NET获取当前路径的方法汇总
    • asp.net中资源文件的使用

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

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