日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

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

為什么需要在RowCommand event獲得RowIndex呢?通常一個(gè)Table的PK或FK并不會(huì)顯示在GridView上,而會(huì)設(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。

當(dāng)在DataGrid點(diǎn)下FirstName后,會(huì)在下方的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更強(qiáng)更好用,但這個(gè)例子卻發(fā)現(xiàn)GridView比DataGrid麻煩些,或許我沒找到好最好的方法,若有人有更好的方式,歡迎指正,謝謝。以上介紹如何在ASP.NET中獲得RowIndex。


    分享文章:如何在ASP.NET中獲得RowIndex
    文章網(wǎng)址:http://m.5511xx.com/article/cdscedp.html