GridView中获取BuutonFiled的当前值?太难了!

来源:百度知道 编辑:UC知道 时间:2024/06/08 01:39:33
GridView1->编辑列->可用字段中选择BuutonFiled,外观ButtonType选择“Link”,绑定DateTextFiled选择CostID(数据库中的主键),CommandName为“Test”,该列为第一列.
当数据正确绑定后,想单击该BuutonFiled中获取当前帮定的“CostID” protected void grdCost_RowCommand(object sender, GridView1CommandEventArgs e)
{
//当前行的别的列的值都可以获取到
int index = Convert.ToInt32(e.CommandArgument);//获取当前行的索引
//获取当前行的第2列值,也绑的是“CostID”
string CellValues = GridView1.Rows[index].Cells[2].Text;//Ok!
//....然后怎么写获取BuutonFiled绑定的值,也就是当前第一列的值
//string ButtonFiledValues = GridView1.Rows[index].Cells[1].Text;//是空值,取不到
}

试了好多会了,就是取不到!
各位前辈帮帮忙啊!
DateTextFiled选择CostID(数据库中的主键)就是帮定的数据啊!
楼2的兄弟你没看清楚我的意思,我不是在模板中放了一个LinkButton,而是在编辑列里面添加了一个ButtonFiled.....我在问题里面说的很清楚的.
楼3 说的我做过了:
取第一列值是cell[0] 取不到值,是“”
第二列值是cell[1] 可以取的值w为CostID实际的值
...
我在提示一下:
GridView1->编辑列->可用字段中选择BuutonFiled,外观ButtonType选择“Link”,绑定DateTextFiled选择CostID(数据库中的主键)
我都监视了把当前行的所以列的数据都试过,就是cell[0]上为""
别的c

无法获取,数据绑定是编译时行为,以编译后解释为代码行,而不是一个属性。编译时由编译程序会解释符号<%# DataField%>为相应代码行,不能由UI层次结构获取。详细参考你可以参照一下CSDN里面关于数据绑定深入分析的一篇文章,自己搜一下。

取第一列值是cell[0]
第二列值是cell[1]

测试下吧
----------------------------
细节问题,肯定是细节问题
你在源视图里面数数确定你的列是否正确

GridViewRow gr = GridView1.Rows;
LinkButton _Link = (LinkButton)gr.FindControl("Test");//找控件
string _ButtonFiledValues =_Link.Text;
以上可实现取到绑定到LinkButton的值
顺便说下:
上面的 gr 是个对象
可以是GridView1.Rows //行
也可以是GridView1.FooterRow //脚注行
也可以是GridView1.TopPagerRow//顶部导航行.
还有编辑行之类的.
看你要找哪个地方的控件.
慢慢体会吧.
最后说一句:一点都不难!

为啥不绑定数据源