2012-06-05 103 views
0

我很抱歉如果這是一個真正簡單的問題,但我找不到其他人問。我有一個按鈕列的網格視圖。我試圖使用按鈕列向另一頁發送文件名。我在這裏把這個代碼從另一個解決方案中解脫出來,但是在這一行中出現錯誤:「不包含'Item'的定義:」ListViewDataItem item =(ListViewDataItem)e。 商品號;我不知道要使用哪個Using-namespace(是他們所稱的?)。gridview按鈕

protected void gvFiles_RowCommand(object sender, System.Web.UI.WebControls.GridViewCommandEventArgs e) 
{ 

    if (e.CommandName == "edit") 
    { 
     ListViewDataItem item = (ListViewDataItem)e.Item; 

     int index = item.DataItemIndex; 
     string fileID = ((ListView)sender).DataKeys[index]["fileID"].ToString(); 

     Response.Redirect("[email protected]=" + fileID); 
    } 
} 

回答

1

我想你是在處理一個GridView不是一個ListView,則代碼應該是

protected void gvFiles_RowCommand(object sender, System.Web.UI.WebControls.GridViewCommandEventArgs e) 
{ 

    if (e.CommandName == "edit") 
    { 
     int index = Convert.ToInt32(e.CommandArgument); 
     string fileID = ((GridView)sender).DataKeys[index]["fileID"].ToString(); 
     Response.Redirect("[email protected]=" + fileID); 
    } 
} 
+0

男孩哦...咄。謝謝! –

+0

我不認爲你可以告訴我爲什麼GridView會觸發rowediting事件,當我只想按下按鈕並讓它運行RowCommand事件? –

+0

我不是ASP.NET的專家,所以不能真正幫忙,但看看你是否有'AutoGenerateEditButton =「True」'。 [請參閱MSDN參考](http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowediting)RowEditing和[RowCommand](http:// msdn。 microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowcommand) – Steve