1

在此处输入图像描述

我有这样的gridview输出。

当我单击编辑链接时,我需要将 unitinstock 值传递给文本框控件。它存在于模板字段中。

这是我的 C# 代码:

TextBox tt = (TextBox)GridView1.Rows[i].Cells[3].FindControl("TextBox2").ToString();

TextBox text_ref = (TextBox)GridView1.Rows[e.NewEditIndex].Cells[2].FindControl("TextBox2");

TextBox3.Text = text_ref.Text;

有什么问题吗?当我调试时e.NewEdtIndex=0TextBox3=null. 如何解决这个问题?

4

1 回答 1

2

你应该使用EditItemTemplate这个。例如,当您编辑该行时,上面的代码会将unitsinstock值绑定到unitsinstock 复制文本框。

更改 SqlDataSource 以及:

<UpdateParameters>
    <asp:Parameter Name="unitsinstock" Type="Int32" /> /*Put the correcly type here*/
    /*other fields*/
</UpdateParameters>

和 GridView:

<asp:TemplateField HeaderText="unitsinstock">
  <ItemTemplate>
<asp:label id="labelUnitsinstock" runat="server" text='<%#Eval("unitsinstockActual")%>'>
    </asp:label>
  </ItemTemplate>
</asp:TemplateField>

<asp:TemplateField HeaderText="unitsinstock copy">
  <EditItemTemplate>
    <asp:TextBox ID="TextBox1" runat="server"
     Text='<%# Bind("unitsinstock") %>'></asp:TextBox>
  </EditItemTemplate>
</asp:TemplateField>

在此处查看更多信息在 GridView 控件中使用 TemplateFields

于 2013-08-02T17:45:39.490 回答