Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将项目模板文本框从gridview保存到数据库_C#_Asp.net_Ado.net - Fatal编程技术网

C# 如何将项目模板文本框从gridview保存到数据库

C# 如何将项目模板文本框从gridview保存到数据库,c#,asp.net,ado.net,C#,Asp.net,Ado.net,我有一个gridview,其中包含两个项目模板1-checkbox 2-textbox,如下所示: <asp:GridView ID="Warehouse_gv" runat="server" AllowPaging="True" align="center" AllowSorting="True" AutoGenerateColumns="False" DataSourceID="Warehouse_gv_SqlDS"

我有一个gridview,其中包含两个项目模板1-checkbox 2-textbox,如下所示:

<asp:GridView 
    ID="Warehouse_gv" 
    runat="server" 
    AllowPaging="True" 
    align="center" 
    AllowSorting="True" AutoGenerateColumns="False" 
    DataSourceID="Warehouse_gv_SqlDS"
    onselectedindexchanged="Warehouse_gv_SelectedIndexChanged" 
    Width="230px" PageSize="700">

 <Columns>
    <asp:CommandField ShowDeleteButton="False" ShowEditButton="True" />
    <asp:TemplateField HeaderText="Select">
       <ItemTemplate>
            <asp:CheckBox ID="chkSelect" runat="server" />
      </ItemTemplate>

      <HeaderTemplate>
       <input id="chkAll"  
             önclick="javascript:SelectAllCheckboxes(this);" 
             runat="server" type="checkbox" />
      </HeaderTemplate>
    </asp:TemplateField>

    <asp:BoundField DataField="Line Number" 
                    HeaderText="Line Number" ReadOnly="True" 
                    SortExpression="Line Number" />
    <asp:BoundField DataField="Reference" 
                    HeaderText="Reference" ReadOnly="True" 
                    SortExpression="Reference" />
    <asp:BoundField DataField="QTY" HeaderText="QTY"
                    SortExpression="QTY" />

    <asp:TemplateField HeaderText="EditQTY">
      <ItemTemplate>
          <asp:TextBox ID ="test" runat="server" />
     </ItemTemplate>
     <HeaderTemplate>
          EditQTY
     </HeaderTemplate>
    </asp:TemplateField>
   </Columns>
  <EmptyDataTemplate>
    No data could be find!
  </EmptyDataTemplate>
</asp:GridView>

编辑数量
找不到任何数据!
此网格有6列1-编辑按钮2-复选框(第一项模板)3-行号4-参考5-数量6-编辑数量(第二项模板)。 但当我想将数据从这个gridview保存到另一个数据库时,对于我放在Item template字段数据中的textbox字段(EditQTY列),这是我的代码:

protected void SAVE_btn_Click(object sender, EventArgs e)
    {
        int C = 0;

        for (int i = 0; i < Warehouse_gv.Rows.Count; i++)
        {
            GridViewRow row = Warehouse_gv.Rows[i];
            bool isChecked = ((CheckBox)row.FindControl("chkSelect")).Checked;

            if (isChecked)
            {
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = new SqlConnection(Class1.CnnStr);
                cmd.CommandText = "insert into WarehousePart values (@Reference,@EditQty)";
                cmd.Connection.Open();
                cmd.Parameters.AddWithValue("@Reference", Warehouse_gv.Rows[i].Cells[3].Text); 
                cmd.Parameters.AddWithValue("@EditQty", Warehouse_gv.Rows[i].Cells[5].Text);
                cmd.ExecuteNonQuery();
                cmd.Connection.Close();
                C = C + 1;
            }
        }
    }.
protectedvoid保存\u btn\u单击(对象发送方,事件参数e)
{
int C=0;
对于(int i=0;i
您必须使用
FindControl
方法来获取ID为
test
TextBox
的引用

TextBox test=row.FindControl("test")) as TextBox;

if(test!=null){
  //
}

@凯蒂-我猜。您已经在页面加载中找到了数据绑定代码。请将此代码包装在
IsPostBack
块中。我知道了,非常感谢您的帮助!!!我在if(test!=null)中使用了cmd.Parameters.AddWithValue(“@OrderQTY”,test.Text),而不是我的上一个代码,它可以工作!!