ASP.NET数据绑定控件比较浅析
创始人
2024-04-24 12:41:20
0

ASP.NET数据控件之数据绑定控件比较(Reapter\DataList\GridView\DatailsView\FormView)都有哪些方面呢?让我们开始讲解:

ASP.NET数据控件之数据绑定控件比较1.插入功能方面:

DetailsView和FormView具有插入功能,其它控件没有

ASP.NET数据控件之数据绑定控件比较2.模板

DataList\FormView\Repeater三种必须编辑模板,而

GridView和DetailsView只有在将列转换成模板列以后才会出现各种模板.

ASP.NET数据控件之数据绑定控件比较3.自动分页功能

GridView ,DetailsView和FormView都是2.0版本新增控件,内置了分页,排序等等功能,

其他需要手工定义

ASP.NET数据控件之数据绑定控件比较4.数据呈现方式:

GridView,DataList,Repeator用于呈现多列数据,

DetailsView,FormView用于呈现单列数据,即常用的数据明细.

DataList和Reapter都需要编辑模板列,而在模板列当中可以添加TextBox,同时可以指定TextBox的ID从而实现提取用户输入的值,但是DataGrid和GridView两个件是不需要编辑模板的,它的编辑功能是自动生成的我们无法知道那些文本框的ID,也就无法通过ID来获取用户的输入,那么可以通过对单元格的引用来实现:

  1. private void DataGrid1_UpdateCommand(object source,xx)  
  2. {  
  3.     string bkid=DataGrid1.DataKeys[e.Item.ItemIndex].toString();//提取主键  
  4.     string bktitle=((TextBox)e.Item.Cells[1].Controls[0]).Text;//提取用户的输入  

ASP.NET数据绑定控件实际区别一.进入编辑状态:

  1. DataList1.EditItemIndex = e.Item.ItemIndex;  
  2. DataGrid1.EditItemIndex = e.Item.ItemIndex;  
  3. GridView1.EditIndex = e.NewEditIndex;  
  4. DetailsView1.ChangeMode(DetailsViewMode.Edit);//进入编辑状态  
  5. DetailsView1.ChangeMode(DetailsViewMode.ReadOnly);//退出编辑状态 

ASP.NET数据绑定控件实际区别二.设置主键:

  1. DataList1.DataKeyField = "bkid";  
  2. DataGrid1.DataKeyField = "bkid";  
  3.  
  4. string[] str={"bkid"};  
  5. GridView1.DataKeyNames = str; 

ASP.NET数据绑定控件实际区别三.提取主键:

  1. string bkid = DataList1.DataKeys[e.Item.ItemIndex].ToString();//DataList  
  2. string bkid = DataGrid1.DataKeys[e.Item.ItemIndex].ToString();//DataGrid  
  3. string bkid = GridView1.DataKeys[e.RowIndex].Value.ToString();//GridView  
  4. string bkid = DetailsView1.DataKey[0].ToString(); 

ASP.NET数据绑定控件实际区别四.查找控件:

  1. string bktitle = ((TextBox)e.Item.FindControl("txtTile")).Text;//DataList  
  2. string bktitle = ((TextBox)e.Item.Cells[1].Controls[0]).Text;//DataGrid  
  3. string bktitle = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text;  
  4. string bktitle = ((TextBox)DetailsView1.Rows[1].Cells[1].Controls[0]).Text; 

注意查找控件有两种方法:(各数据绑定控件的都可以用下面两种方法进行查找)

1.如果知道控件的ID可以用这种方法

((TextBox)e.Item.FindControl("txtTile")).Text;//这是查找

2.如果不知道控件的ID可用这种方法

((TextBox)e.Item.Cells[1].Controls[0]).Text;//这是索引


ASP.NET数据绑定控件实际区别五.给删除按钮添加确认:

  1. protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)  
  2.      {  
  3.          if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)  
  4.          {  
  5.              LinkButton lbtn =(LinkButton) e.Item.FindControl("lbtndelete");  
  6.              lbtn.Attributes.Add("OnClick","return confirm(‘确定要删除吗?‘)");  
  7.          }  
  8.      }  
  9.  
  10. protected void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)  
  11.      {  
  12.          if(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)  
  13.          {  
  14.              LinkButton lbtn = (LinkButton)e.Item.Cells[3].Controls[0];  
  15.              lbtn.Attributes.Add("OnClick","return confirm(‘确认删除?‘)");  
  16.          }  
  17.      }  
  18.  
  19.  
  20. protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)  
  21.      {  
  22.          if(e.Row.RowType== DataControlRowType.DataRow)  
  23.          {  
  24.              string strid = e.Row.Cells[0].Text;//获取***行的字段值;  
  25.              e.Row.Cells[3].Attributes.Add("OnClick", "return confirm(‘确认删除\""+strid+"\"?‘)");  
  26.              //用了两个转义符将***列的值用引号括起来,注意转义符后面一个将不被解释,是直接放上去;  
  27.  
  28.          }  
  29.      } 

ASP.NET数据绑定控件比较的基本情况就向你介绍到这里,希望对你理解ASP.NET数据绑定控件比较有所帮助。

【编辑推荐】

  1. ASP.NET编程规范之界面设计标准浅析
  2. ASP.NET编程规范之命名规范浅析
  3. ASP.NET编程规范之编码规范浅析
  4. ASP.NET编程规范之测试规范浅析
  5. ASP.NET的五大数据控件浅谈

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...