ASP.NET使用gridview獲取當(dāng)前行的索引值_.Net教程
推薦:ASP.NET檢測(cè)到不安全 Request.Form 值解決方案匯總這篇文章主要介紹了ASP.NET檢測(cè)到不安全 Request.Form 值解決方案匯總 ,十分的全面,需要的朋友可以參考下 當(dāng)我們?cè)诰W(wǎng)站中使用CKEditor等富文本編輯器時(shí),大多都會(huì)遇到這樣的到警告 這是因?yàn)锳SP.NET默認(rèn)開啟對(duì)頁(yè)面提交內(nèi)容的驗(yàn)證(不僅是ASP.NET MVC,WebForms也默認(rèn)啟
這篇文章主要介紹了ASP.NET使用gridview獲取當(dāng)前行的索引值的方法匯總,有需要的小伙伴可以參考下。
在用GridView控件時(shí),我們經(jīng)常會(huì)碰到獲取當(dāng)前行的索引,通過索引進(jìn)行許多操作。例如,可以獲得當(dāng)前行某一個(gè)控件元素;設(shè)置某一元素的值等等。下面結(jié)合實(shí)例介紹幾種獲得GridView當(dāng)前行索引值的方法。
實(shí)例:
① 目的:獲取GridView中RowCommand的當(dāng)前索引行。
�、� 前臺(tái)頁(yè)面:在GridView中添加一模版列,里面添加一個(gè)LinkButton控件。
代碼:
?
小提示:如果在后臺(tái)代碼中用e.CommandArgument取值的話,前臺(tái)代碼就必須在按鈕中設(shè)置CommandArgument的值,值為綁定的數(shù)據(jù)庫(kù)字段。如:
//因?yàn)樵诳蛻舳酥芯鸵呀?jīng)將LinkButton的CommandArgument與主鍵Id給綁定了所以在此可以直接用e.CommandArgument得出主鍵ID的值
int id = Convert.ToInt32(e.CommandArgument.ToString());
③ 在GridView里已經(jīng)設(shè)置了LinkButton為事件處理按鈕,將通過以下方法獲取索引:
?
【方法一】
?
注意:運(yùn)用此方法,需要對(duì)GridView的DataKeyNames屬性進(jìn)行設(shè)置,此例中設(shè)置為主鍵字段。
【方法二】
?
此外,還有一些方法可以實(shí)現(xiàn)獲得當(dāng)前行索引值。
【方法三】
在linkbutton控件的Command事件,利用sender的Parent獲取GridView中的當(dāng)前行。
?
【方法四】
在linkbutton控件的Click事件,獲取GridView中的當(dāng)前行。
?
【方法五】
如果在模板列中添加一下DropDownList控件,并開啟其AutoPostback屬性,在DropDownList 的SelectedIndexChanged事件中,獲取GridView中的當(dāng)前行。
下面是SelectedIndexChanged事件的代碼摘要:
?
第一句用來獲取觸發(fā)事件的DropDownList控件。
第二句就利用該控件的NamingContainer屬性,獲取其容器,也就是GridViewRow對(duì)象。
提示:由于DropDoweList與button不同,無法指定其CommandName,所以,通過用NamingContainer屬性來解決問題。
先來看看微軟對(duì)該NamingContainer屬性的解釋:
獲取對(duì)服務(wù)器控件的命名容器的引用,此引用創(chuàng)建唯一的命名空間,以區(qū)分具有相同 Control.ID 屬性值的服務(wù)器控件。
ASP.NET Web 應(yīng)用程序的每一頁(yè)均包含控件的層次結(jié)構(gòu)。此層次結(jié)構(gòu)與控件是否生成用戶可見的 UI 無關(guān)。給定控件的命名容器是層次結(jié)構(gòu)中該控件之上的父控件,此父控件實(shí)現(xiàn) INamingContainer 接口。實(shí)現(xiàn)此接口的服務(wù)器控件為其子服務(wù)器控件的 ID 屬性值創(chuàng)建唯一的命名空間。
當(dāng)針對(duì)列表 Web 服務(wù)器控件(如 Repeater 和 DataList 服務(wù)器控件)進(jìn)行數(shù)據(jù)綁定時(shí),為服務(wù)器控件創(chuàng)建唯一的命名空間尤其重要。當(dāng)數(shù)據(jù)源中的多個(gè)項(xiàng)創(chuàng)建服務(wù)器控件的多個(gè)實(shí)例,且該服務(wù)器控件是重復(fù)控件的子級(jí)時(shí),命名容器確保這些子控件的每個(gè)實(shí)例具有不沖突的 UniqueID 屬性值。頁(yè)的默認(rèn)命名容器是請(qǐng)求該頁(yè)時(shí)生成的 Page 類的實(shí)例。
可以使用此屬性確定特定服務(wù)器控件所在的命名容器。
【方法六】
如果模板列中有CheckBox控件的情況,通過CheckBox1_CheckedChanged事件中,獲取GridView中的當(dāng)前行。
?
【方法七】
?
【方法八】
控件的ID和Name命名可以如上方法,我需要通過RowCommand()方法判斷選中的是哪一列,而要使用這個(gè)方法的前提是,e.CommandArgument這么一個(gè)屬性(首先必須知道在GridView里,行索引是被放在CommandArgument里面的),現(xiàn)在的任務(wù)就是獲得這么一個(gè)屬性。查資料可以知道,在創(chuàng)建GridView控件中每一行時(shí),都將引發(fā)一個(gè)RowCreated事件,借此這么個(gè)方法,可以把linkButton所選擇的行號(hào)寫入CommandArgument中。
?
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
分享:asp.net開發(fā)微信公眾平臺(tái)之驗(yàn)證消息的真實(shí)性這篇文章主要介紹了asp.net開發(fā)微信公眾平臺(tái)之驗(yàn)證消息的真實(shí)性的相關(guān)資料,需要的朋友可以參考下 驗(yàn)證消息的真實(shí)性 在MVC Controller所在項(xiàng)目中添加過濾器,在過濾器中重寫 public override void OnActionExecuting(ActionExecutingContext filterContext)方法 新建數(shù)
- 仿vs實(shí)現(xiàn)WPF好看的進(jìn)度條
- ASP.NET檢測(cè)到不安全 Request.Form 值解決方案匯總
- asp.net開發(fā)微信公眾平臺(tái)之驗(yàn)證消息的真實(shí)性
- asp.net開發(fā)微信公眾平臺(tái)之獲取用戶消息并解決
- ASP.NET中CKEditor與CKFinder的配置使用
- javascript操作ASP.NET服務(wù)器控件
- 使用Lucene.NET實(shí)現(xiàn)站內(nèi)搜索
- ASP.NET中集成百度編輯器UEditor
- asp.net實(shí)現(xiàn)文件無刷新上傳方法匯總
- ASP.Net刷新頁(yè)面后自動(dòng)滾動(dòng)到原來位置方法匯總
- 支持ASP.NET MVC、WebFroM的表單驗(yàn)證框架ValidationSuar使用介紹
- 簡(jiǎn)單好用的ASP.NET分頁(yè)類(支持AJAX、自定義文字)
- 相關(guān)鏈接:
- 教程說明:
.Net教程-ASP.NET使用gridview獲取當(dāng)前行的索引值
。