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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何在ASP.NET中獲得RowIndex

為什么需要在RowCommand event獲得RowIndex呢?通常一個Table的PK或FK并不會顯示在GridView上,而會設(shè)定在DataKeyNames property,然后再RowCommand event根據(jù)RowIndex讀出該row的PK或FK,所以第一步,必須先能在RowCommand獲得RowIndex。

ASP.NET 1.x DataGrid

在ASP.NET 1.x的DataGrid,若要使用LinkButton,一樣得放在TemplateColumn內(nèi),且ItemCommand event的e.Item.ItemIndex就可抓到RowIndex。

當在DataGrid點下FirstName后,會在下方的Label顯示LastName,LastName是此例的DataKey。

 
 
 
  1. <%@ Import Namespace="System.Data" %> 
  2. <%@ Import Namespace="System.Data.SqlClient" %> 
  3.  
  4. <%@ Page Language="C#" %> 
  5.  
  6. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  7.  
  8.  
  9.  
  10.  xmlns="http://www.w3.org/1999/xhtml"> 
  11.  runat="server"> 
  12. </strong>Untitled Page<strong> 
  13.  
  14.  
  15.  id="form1" runat="server"> 
  16.  ID="DataGrid1" runat="server" OnItemCommand="DataGrid1_ItemCommand"> 
  17.  
  18.  HeaderText="First Name"> 
  19.  
  20.  ID="LinkButton1" runat="server" CommandName="Select" 
    Text='<%#DataBinder.Eval(Container.DataItem,"fname")%>'> 
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  ID="Label1" runat="server"> 
  27.  
  28.  
  29.  

只需在ItemCommand event的e.Item.ItemIndex就可以輕松的抓到RowIndex。

ASP.NET 2.0 GridView

ASP.NET 2.0就改用SqlDataSource和GridView了,LinkButtom一樣得放在TemplateField,但GridView沒有ItemCommand event,取而代之的是RowCommand event。

 
 
 
  1. <%@ Page Language="C#" %> 
  2.  
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  4.  
  5.  
  6.  
  7.  xmlns="http://www.w3.org/1999/xhtml"> 
  8.  runat="server"> 
  9. </strong>Untitled Page<strong> 
  10.  
  11.  
  12.  id="form1" runat="server"> 
  13.  
  14.  ID="GridView1" runat="server" OnRowCommand="GridView1_RowCommand"> 
  15.  
  16.  HeaderText="First Name"> 
  17.  
  18.  ID="LinkButton1" runat="server" CommandName="Select" 
    Text='<%#Eval("fname")%>'> 
  19.  
  20.  
  21.  
  22.  
 
  •  ID="Label1" runat="server"> 
  •  ID="SqlDataSource1" runat="server"> 
  •  
  •  
  •  
  • CommandSource傳的是按下去的LinkButton,不過由于傳回的是Object,就得自行轉(zhuǎn)成LinkButton,但由于我們想知道的是RowIndex,而LinkButton是包含在GridViewRow內(nèi),所以透過NamingContainer傳回目前的 GridViewRow,但傳回的是Control,所以需在轉(zhuǎn)成GridViewRow后才能有RowIndex property。

    GridView是DataGrid的繼承人,但不少寫法和DataGrid并不一樣,GridView很多地方比DataGrid更強更好用,但這個例子卻發(fā)現(xiàn)GridView比DataGrid麻煩些,或許我沒找到好最好的方法,若有人有更好的方式,歡迎指正,謝謝。以上介紹如何在ASP.NET中獲得RowIndex。


    本文標題:如何在ASP.NET中獲得RowIndex
    分享路徑:http://www.dlmjj.cn/article/cdscedp.html