在行更新事件中进行编码时找不到.FindControl
本文关键字:找不到 FindControl 编码 更新 事件 | 更新日期: 2023-09-27 18:20:54
我有一个有3列empName, bonus, Id
的网格
我想在gridview上实现编辑功能。
为此,我进入editTemplates并添加了3个文本框:
<EmptyDataTemplate>
<asp:TextBox ID="txtEmpName" runat="server"></asp:TextBox>
<asp:TextBox ID="txtBonus" runat="server"></asp:TextBox>
<asp:TextBox ID="txtID" runat="server"></asp:TextBox>
</EmptyDataTemplate>
我正在参考这个文档的代码。
根据这一点,我尝试编写如下代码:
TextBox txtUname = (TextBox)gv.DataKeys[e.RowIndex].FindControl("txtEmpName");
但在(TextBox)gv.DataKeys[e.RowIndex].
之后,它没有向我显示FindControl
我在这个过程中所遵循的步骤有什么错误吗?
请帮帮我。
TextBox txtUname = (TextBox)gv.DataKeys[e.RowIndex].FindControl("txtEmpName");
使用行作为
TextBox txtUname = (TextBox)gv.Rows[e.RowIndex].FindControl("txtEmpName");
它应该是"EditItemTemplate"
而不是"EmptyDataTemplate"
DataKeys和DataKeyNames用于存储您在网格视图中定义的值。您只需要
TextBox txtUname = (TextBox)gv.Rows[e.RowIndex].FindControl("txtEmpName");
如果你想了解更多如何使用DataKeys,请尝试谷歌或查看以下示例:
http://www.dotnetcurry.com/ShowArticle.aspx?ID=291