[英]ASP.NET GridView problem
好吧,我有一個gridview,其中我自己定義了列並關閉了自動生成功能,但是現在我遇到了無法訪問GridView.SelectedRow.DataItem的問題。
由於現在已為空,因此當啟用自動生成時它具有一個值。
編輯:我需要的是一種在不向用戶顯示ID的同時保存行ID的方法,因此,如果有任何方法可以做到這一點?
我猜只有在使用DataBinding時才正確填充DataItem。 您正在使用DataBinding嗎?
確定從這個網址 :
GridView(實際上是我們所有的數據控件)不會在回發之間保存數據項。 這樣可以減少ViewState(如果對象甚至可以序列化),並可以進行垃圾回收並清理對象。 因此,當您單擊該按鈕以回發時,GridView尚未調用DataBind,因此您的數據項不存在。 這就是您所發現的。
猜測您正在從回發中讀取值,可能只是問題所在。
如果已經為項目設置了(主)鍵,請嘗試使用SelectedValue。 我一直都用它,而且效果很好。 有關SelectedValue的msdn
您可以創建一個新的隱藏模板列,該列將帶有一個帶有ID的標簽。 並在cs文件中的行上使用.FindControl。
您在gridview上也有DataKeys屬性,我想也是您想要的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.