我在GridView中有一个模板字段:
<asp:TemplateField HeaderText="Value">
<ItemTemplate>
<asp:TextBox CssClass="form-field small" ID="txtPhoneNo" Text="" EnableViewState="true"
runat="server" />
>
</ItemTemplate>
</asp:TemplateField>
我编写了这段代码来访问行中的文本框值:
foreach (GridViewRow row in grvPhoneType.Rows) {
string PhoneNumber = (((row.FindControl("txtPhoneNo")) as TextBox).Text);
// Do what ever with PhoneNumber
}
虽然用户在txtPhoneNo文本框中输入值,但可变的PhoneNumber为空 有什么问题?
答案 0 :(得分:2)
在包含控件的单元格中使用FindConrol方法。如果您的模板列是GridView中的第一列,则以下示例将起作用。
foreach (GridViewRow row in grvPhoneType.Rows) {
string PhoneNumber = (((row.cells(0).FindControl("txtPhoneNo")) as TextBox).Text);
// Do what ever with PhoneNumber
}