日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
ASP.NET數(shù)據(jù)綁定控件比較淺析

ASP.NET數(shù)據(jù)控件之?dāng)?shù)據(jù)綁定控件比較(Reapter\DataList\GridView\DatailsView\FormView)都有哪些方面呢?讓我們開始講解:

ASP.NET數(shù)據(jù)控件之?dāng)?shù)據(jù)綁定控件比較1.插入功能方面:

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

ASP.NET數(shù)據(jù)控件之?dāng)?shù)據(jù)綁定控件比較2.模板

DataList\FormView\Repeater三種必須編輯模板,而

GridView和DetailsView只有在將列轉(zhuǎn)換成模板列以后才會(huì)出現(xiàn)各種模板.

ASP.NET數(shù)據(jù)控件之?dāng)?shù)據(jù)綁定控件比較3.自動(dòng)分頁功能

GridView ,DetailsView和FormView都是2.0版本新增控件,內(nèi)置了分頁,排序等等功能,

其他需要手工定義

ASP.NET數(shù)據(jù)控件之?dāng)?shù)據(jù)綁定控件比較4.數(shù)據(jù)呈現(xiàn)方式:

GridView,DataList,Repeator用于呈現(xiàn)多列數(shù)據(jù),

DetailsView,FormView用于呈現(xiàn)單列數(shù)據(jù),即常用的數(shù)據(jù)明細(xì).

DataList和Reapter都需要編輯模板列,而在模板列當(dāng)中可以添加TextBox,同時(shí)可以指定TextBox的ID從而實(shí)現(xiàn)提取用戶輸入的值,但是DataGrid和GridView兩個(gè)件是不需要編輯模板的,它的編輯功能是自動(dòng)生成的我們無法知道那些文本框的ID,也就無法通過ID來獲取用戶的輸入,那么可以通過對(duì)單元格的引用來實(shí)現(xiàn):

 
 
 
  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數(shù)據(jù)綁定控件實(shí)際區(qū)別一.進(jìn)入編輯狀態(tài):

 
 
 
  1. DataList1.EditItemIndex = e.Item.ItemIndex;  
  2. DataGrid1.EditItemIndex = e.Item.ItemIndex;  
  3. GridView1.EditIndex = e.NewEditIndex;  
  4. DetailsView1.ChangeMode(DetailsViewMode.Edit);//進(jìn)入編輯狀態(tài)  
  5. DetailsView1.ChangeMode(DetailsViewMode.ReadOnly);//退出編輯狀態(tài) 

ASP.NET數(shù)據(jù)綁定控件實(shí)際區(qū)別二.設(shè)置主鍵:

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

ASP.NET數(shù)據(jù)綁定控件實(shí)際區(qū)別三.提取主鍵:

 
 
 
  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數(shù)據(jù)綁定控件實(shí)際區(qū)別四.查找控件:

 
 
 
  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; 

注意查找控件有兩種方法:(各數(shù)據(jù)綁定控件的都可以用下面兩種方法進(jìn)行查找)

1.如果知道控件的ID可以用這種方法

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

2.如果不知道控件的ID可用這種方法

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

ASP.NET數(shù)據(jù)綁定控件實(shí)際區(qū)別五.給刪除按鈕添加確認(rèn):

 
 
 
  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(‘確定要?jiǎng)h除嗎?‘)");  
  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(‘確認(rèn)刪除?‘)");  
  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(‘確認(rèn)刪除\""+strid+"\"?‘)");  
  26.              //用了兩個(gè)轉(zhuǎn)義符將***列的值用引號(hào)括起來,注意轉(zhuǎn)義符后面一個(gè)將不被解釋,是直接放上去;  
  27.  
  28.          }  
  29.      } 

ASP.NET數(shù)據(jù)綁定控件比較的基本情況就向你介紹到這里,希望對(duì)你理解ASP.NET數(shù)據(jù)綁定控件比較有所幫助。

【編輯推薦】

  1. ASP.NET編程規(guī)范之界面設(shè)計(jì)標(biāo)準(zhǔn)淺析
  2. ASP.NET編程規(guī)范之命名規(guī)范淺析
  3. ASP.NET編程規(guī)范之編碼規(guī)范淺析
  4. ASP.NET編程規(guī)范之測(cè)試規(guī)范淺析
  5. ASP.NET的五大數(shù)據(jù)控件淺談

當(dāng)前標(biāo)題:ASP.NET數(shù)據(jù)綁定控件比較淺析
瀏覽路徑:http://www.dlmjj.cn/article/dhehoss.html