2011-07-07 65 views
1

我試圖手動從我的GridView中刪除行,因爲某種原因,當我從數據庫中刪除和數據綁定的物品時,GridView仍然ISN」更新。這裏是我使用的代碼:從代碼隱藏GridView中移除一行(獲得異常?)

try 
{ 
    gvCertifications.DeleteRow(int.Parse(commandArgs[1])); 
} 
catch (HttpException) 
{ 
    //error 
} 

出於某種原因,我總是打那HttpException?我試圖把這個命令既我的DataBind前後(因爲MSDN說,當在GridView不會綁定到數據源發生HttpException)

在GridView已經綁定到數據源,當它被加載,所以我不知道爲什麼我會得到這個異常...

此外,如果有幫助,這是我如何得到commandArgs[]

String[] commandArgs = e.CommandArgument.ToString().Split('|'); //before in same function as the try/catch block 

,這裏是從的commandargs。 aspx文件:

CommandArgument='<%#Eval("ThisId") + "|" + Container.DataItemIndex %>' 
+0

什麼是你提到的CommandName的?並在哪個事件你寫這個代碼? – NaveenBhat

+0

'的CommandName =「刪除」'和事件是'gvCertifications_RowCommand' –

+0

ok..then,你有沒有寫在數據源的'deletecommand'財產刪除查詢? – NaveenBhat

回答

0

雖然它並不一定回答我的問題,它解決了這個問題,我試圖破解它周圍:

從問題:

」 ...由於某種原因,當我從數據庫和數據綁定刪除項目,gridview仍然沒有更新...「

Gridviews有預定義的命令設置,如'選擇','編輯'和'刪除'。當我嘗試將自己的事件定義爲使用命令名稱'delete'運行時,程序會嘗試並在預定義事件旁邊運行部分事件。這是導致問題的原因。

0

如果使用sqldatasource作爲數據源(如MSDN Example),那麼,你需要寫在它deletecommand屬性刪除查詢。或者,如果你使用DataTabeDataSource,那麼你需要處理RowDeleting事件在GridView的。檢查樣本this link

+0

我使用自定義命令,即'GridView_RowCommand(...){如果(命令名== '刪除'){...}}' –