作者Laluth (信心最重要)
看板C_Sharp
标题Re: [问题] GridView分页与ImageButton的问题
时间Wed Nov 3 17:41:57 2010
※ 引述《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