所有行GridView中的访问控制值

时间:2011-09-04 16:41:36

标签: c# asp.net gridview

我在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为空 有什么问题?

1 个答案:

答案 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
   }