※ 引述《testcrack (testcrack)》之銘言:
: 我的GridView有開分頁(AllowPaging=true)
: 分頁的功能沒有問題,但是後來我新增了一個欄位,有放ImageButton
: 發現點選其他頁時,就會出現錯誤訊息...
: 錯誤訊息如下:
: 無法將型別 'System.Web.UI.WebControls.GridView' 的物件轉換為型別
: 'System.Web.UI.WebControls.ImageButton'。
: 此欄位的動作如下:
: protected void GridView1_RowCommand(object sender,GridViewCommandEventArgs e)
: {
: GridViewRow selectedRow =
: (GridViewRow)((ImageButton)e.CommandSource).NamingContainer;
: int index = selectedRow.RowIndex;
: string Event_ID =
: (GridView1.Rows[index].Cells[1].FindControl("HyperLink1") as
: HyperLink).Text.ToString();
: if (e.CommandName.ToString() == "Select1")
: Response.Write(Event_ID+"-A");
: if (e.CommandName.ToString() == "Select2")
: Response.Write(Event_ID+"-B");
: if (e.CommandName.ToString() == "Select3")
: Response.Write(Event_ID+"-C");
: }
: 請問該麼處理?
我還沒實際測試過
不過我想
分頁的時候引發事件 也會進到GridView1_RowCommand
那個時候的e.CommandSource 並不是ImageButton 而是GridView
所以 你應該事先檢查e.CommandSource的型態 來決定是不是 ImageButton
再來決定 是不是要進行接下來的事件
但是 實際上 這邊的作法其實有一點多繞一圈的感覺
如果你要取得所選的Row
Gridview有 .SelectedRow 可以用
不用這麼麻煩 再從控制項去抓容器
底下也可以換成Switch 可以比較好閱讀
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.130.93