设置GridView模板字段中的文本框值
本文关键字:文本 字段 GridView 设置 | 更新日期: 2023-09-27 18:06:20
在我的页面的load方法中,我想将Textbox中的templatefield设置为一个值。
这是我当前的源代码显示我的模板字段文本框项目'txtQuan':
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblTotalRate" Text="Qty:" runat="server" />
<asp:TextBox ID="txtQuan" Height="15" Width="30" runat="server" />
<asp:Button ID="addButton" CommandName="cmdUpdate" Text="Update Qty" OnClick="addItemsToCart_Click" runat="server" />
</ItemTemplate>
</asp:TemplateField>
我是这样设置文本框的值的:
string cartQty = Qty.ToString();
((TextBox)(FindControl("txtQuan"))).Text = cartQty;
我目前收到一个'nullRefernceException错误'。
使用RowDataBound事件来完成此操作。你可以在网上查一下。该事件处理程序的参数使您可以轻松访问每一行。还可以使用var rows = myGridView.Rows
var rows = myGridView.Rows;
foreach(GridViewRow row in rows)
{
TextBox t = (TextBox) row.FindControl("txtQuan");
t.Text = "Some Value";
}
对于事件:GridView RowDataBound
protected void myGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType == DataControlRowType.DataRow)
{
TextBox t = (TextBox) e.Row.FindControl("txtQuan");
t.Text = "Some Value";
}
}
((TextBox)grdviewId.Row.FindControl("txtQuan")).Text=cartQty;