Welcome 微信登录

首页 / 网页编程 / ASP.NET / 关于GridView中各种列后台取值的方法

关于GridView中各种列后台取值的方法2011-07-26 博客园 果4点儿1.GridView中默认的是BoundField在后台可用GridView1.Rows[0].Cells[0]来取值。

2.如果是其他列如HyperLinkField,ButtonField,CheckBoxField则要在后台进行转化。

转化方法如下:

((HyperLink)GridView1.Rows[RowIndex].Cells[0].Controls[0]).Text

对应的Field转化为相应的类型,简单的方法就是Field的类型名如ButtonField去掉Field就OK了

3.模板列:

<asp:TemplateField HeaderText="取消原因" >
<ItemTemplate>
<asp:TextBox ID="txtCnclRsn" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>

此时后台取值如下:

string reason = ((TextBox)GridView1.Rows[RowIndex].FindControl ("txtCnclRsn")).Text.Trim();

也是转化为相应的类型。

至于为什么2中要用Contorls来取,就感到奇怪,难道一个Cell中可以放多个对应的Field?