我有一个包含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>
我正在为代码提及THIS doccument。
根据这个我试着写代码如下:
TextBox txtUname = (TextBox)gv.DataKeys[e.RowIndex].FindControl("txtEmpName");
但在(TextBox)gv.DataKeys[e.RowIndex].
之后,它没有向我展示FindControl
我在此程序中遵循的步骤是否有任何错误?
请帮帮我。
答案 0 :(得分:2)
TextBox txtUname = (TextBox)gv.DataKeys[e.RowIndex].FindControl("txtEmpName");
而是使用Rows作为
TextBox txtUname = (TextBox)gv.Rows[e.RowIndex].FindControl("txtEmpName");
它应该是"EditItemTemplate"
而不是"EmptyDataTemplate"
答案 1 :(得分:1)
DataKeys和DataKeyNames用于存储您在gridview中定义的值。 你只需要的是
TextBox txtUname = (TextBox)gv.Rows[e.RowIndex].FindControl("txtEmpName");
如果您想了解更多DataKeys的使用方法,请尝试google或查看此示例: