Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.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# 使用jQuery向GridView添加行并保存_C#_Asp.net - Fatal编程技术网

C# 使用jQuery向GridView添加行并保存

C# 使用jQuery向GridView添加行并保存,c#,asp.net,C#,Asp.net,如果我使用jQuery将行添加到GridView,我是否能够使用以下命令获取新添加的行: foreach (GridViewRow row in gvMyGridView.Rows) { } 如何添加行以便在代码隐藏中进行迭代?我将Gridview控件放在一个更新面板中,并设置一个异步触发器以指向“添加”按钮(以便在添加新行时不会刷新整个页面) 然后在代码隐藏中,我向数据表添加新行。将datatable保存在viewstate中,并将gridview重新绑定到viewstate。然后,在从g

如果我使用jQuery将行添加到GridView,我是否能够使用以下命令获取新添加的行:

foreach (GridViewRow row in gvMyGridView.Rows)
{

}

如何添加行以便在代码隐藏中进行迭代?

我将Gridview控件放在一个更新面板中,并设置一个异步触发器以指向“添加”按钮(以便在添加新行时不会刷新整个页面)

然后在代码隐藏中,我向数据表添加新行。将datatable保存在viewstate中,并将gridview重新绑定到viewstate。然后,在从gridview获取数据时,循环查看viewstate datatable行

不确定这是否是最好的解决方案,但到目前为止,它一直在为我工作

protected void cmdAdd(){
  datatable table=(datatable)viewstate["savedTable"];
  datarow row = table.newRow;
  row["myColumnName"]=txtSomething.text;
  datatable.rows.add(row);

  viewstate["savedTable"]=table;
  grid.datasource=viewstate["savedTable"];
  grid.databind();
  // or create your own functions to make the code reusable
}

protected void cmdSave(){
     datatable table=viewstate["savedTable"];
     foreach(datarow row in table.rows){
     //do stuff
}
}
我通常使用引导模式向网格中添加新行,并通过网格头按钮从代码隐藏中调用这些模式

因此我的Gridview html如下所示:

 <asp:UpdatePanel runat="server" ChildrenAsTriggers="true" UpdateMode="Conditional">
                            <ContentTemplate>
                                <asp:GridView runat="server" ID="stockTakeGrid"
                                    CssClass="table table-striped table-bordered table-condensed table-hover"
                                    AllowPaging="true" PageSize="8" OnPageIndexChanging="stockTakeGrid_PageIndexChanging"
                                    ShowHeaderWhenEmpty="true"
                                    OnRowCommand="stockTakeGrid_RowCommand"
                                    OnRowDataBound="stockTakeGrid_RowDataBound">
                                    <Columns>
                                        <asp:TemplateField>
                                                <ItemTemplate>
                                                    <asp:LinkButton runat="server" ID="cmdEdit" CssClass="btn" ToolTip="Edit Stock"
                                                         CommandName="editStock" CommandArgument="<%# ((GridViewRow) Container).RowIndex %>">
                                                        <span><i class=" glyphicon glyphicon-pencil"></i></span>
                                                    </asp:LinkButton>
                                                </ItemTemplate>
                                        </asp:TemplateField>
                                        <asp:BoundField DataField="ITEMCODE" HeaderText="Item Code" />
                                        <asp:BoundField DataField="ITEMDESC" HeaderText="Item Desc" />
                                        <asp:BoundField DataField="ONHAND" HeaderText="Stock On Hand" />
                                        <asp:BoundField DataField="STCOUNT" HeaderText="Stock Count" />
                                        <asp:BoundField DataField="VARIANCE" HeaderText="Variane" />
                                        <asp:BoundField DataField="PRICE" HeaderText="Price" />
                                        <asp:BoundField DataField="VALUE" HeaderText="Value" DataFormatString="{0:0,0.00}" />
                                        <asp:BoundField DataField="COMMENT" HeaderText="Comment" />
                                    </Columns>
                                    <PagerStyle CssClass="pagination-ys" />
                                </asp:GridView>
                            </ContentTemplate>
                            <Triggers>
                                <asp:AsyncPostBackTrigger ControlID="cmbLocation" EventName="selectedindexchanged" />
                                <asp:AsyncPostBackTrigger ControlID="cmdSaveLine" EventName="click" />
                            </Triggers>
                        </asp:UpdatePanel> 
                           <!--Item Modal-->
        <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
          <div class="modal-dialog modal-lg">
            <div class="modal-content">
              <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title" id="myModalLabel">Set actual stock count</h4>
              </div>
              <div class="modal-body">
                  <asp:UpdatePanel runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false">
                      <ContentTemplate>
                        <div class="form-group">
                            <asp:Label runat="server" CssClass="control-label col-md-2 ">Item Code</asp:Label>
                            <div class="col-md-2">
                                <asp:TextBox runat="server" ID="txtItemCode" CssClass="form-control" ReadOnly="true"></asp:TextBox>
                            </div>
                            <div class="col-md-6">
                                <asp:TextBox runat="server" ID="txtItemDesc" CssClass="form-control" ReadOnly="true"></asp:TextBox>
                            </div>
                        </div>
                        <div class="form-group">
                            <asp:Label runat="server" CssClass="control-label col-md-2">Stock on Hand</asp:Label>
                            <div class="col-md-2">
                                <asp:TextBox runat="server" ID="txtOnHand" CssClass="form-control" ReadOnly="true"></asp:TextBox>
                            </div>
                        </div>
                        <div class="form-group">
                            <asp:Label runat="server" CssClass="control-label col-md-2">Stock Count</asp:Label>
                            <div class="col-md-2">
                                <asp:TextBox runat="server" ID="txtSTCount" CssClass="form-control decimal-empty"></asp:TextBox>
                            </div>
                        </div>
                        <div class="form-group">
                            <asp:Label runat="server" CssClass="control-label col-md-2">Comment</asp:Label>
                            <div class="col-md-10">
                                <asp:TextBox runat="server" CssClass="form-control" TextMode="MultiLine" ID="txtComment" ></asp:TextBox>
                            </div>
                        </div>
                      </ContentTemplate>
                      <Triggers>
                          <asp:AsyncPostBackTrigger ControlID="stockTakeGrid" EventName="rowcommand" />
                      </Triggers>
                  </asp:UpdatePanel>
              </div>
              <div class="modal-footer">
                  <asp:UpdatePanel runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false">
                      <ContentTemplate>
                        <asp:Button runat="server" ID="cmdSaveLine" CssClass="btn btn-info pull-left" Text="Save" 
                             OnClientClick="$('#myModal').modal('hide');" OnClick="cmdSaveLine_Click" />
                      </ContentTemplate>
                  </asp:UpdatePanel>
                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                </div>
                </div>
              </div>
            </div>

然后我的模式html如下所示:

 <asp:UpdatePanel runat="server" ChildrenAsTriggers="true" UpdateMode="Conditional">
                            <ContentTemplate>
                                <asp:GridView runat="server" ID="stockTakeGrid"
                                    CssClass="table table-striped table-bordered table-condensed table-hover"
                                    AllowPaging="true" PageSize="8" OnPageIndexChanging="stockTakeGrid_PageIndexChanging"
                                    ShowHeaderWhenEmpty="true"
                                    OnRowCommand="stockTakeGrid_RowCommand"
                                    OnRowDataBound="stockTakeGrid_RowDataBound">
                                    <Columns>
                                        <asp:TemplateField>
                                                <ItemTemplate>
                                                    <asp:LinkButton runat="server" ID="cmdEdit" CssClass="btn" ToolTip="Edit Stock"
                                                         CommandName="editStock" CommandArgument="<%# ((GridViewRow) Container).RowIndex %>">
                                                        <span><i class=" glyphicon glyphicon-pencil"></i></span>
                                                    </asp:LinkButton>
                                                </ItemTemplate>
                                        </asp:TemplateField>
                                        <asp:BoundField DataField="ITEMCODE" HeaderText="Item Code" />
                                        <asp:BoundField DataField="ITEMDESC" HeaderText="Item Desc" />
                                        <asp:BoundField DataField="ONHAND" HeaderText="Stock On Hand" />
                                        <asp:BoundField DataField="STCOUNT" HeaderText="Stock Count" />
                                        <asp:BoundField DataField="VARIANCE" HeaderText="Variane" />
                                        <asp:BoundField DataField="PRICE" HeaderText="Price" />
                                        <asp:BoundField DataField="VALUE" HeaderText="Value" DataFormatString="{0:0,0.00}" />
                                        <asp:BoundField DataField="COMMENT" HeaderText="Comment" />
                                    </Columns>
                                    <PagerStyle CssClass="pagination-ys" />
                                </asp:GridView>
                            </ContentTemplate>
                            <Triggers>
                                <asp:AsyncPostBackTrigger ControlID="cmbLocation" EventName="selectedindexchanged" />
                                <asp:AsyncPostBackTrigger ControlID="cmdSaveLine" EventName="click" />
                            </Triggers>
                        </asp:UpdatePanel> 
                           <!--Item Modal-->
        <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
          <div class="modal-dialog modal-lg">
            <div class="modal-content">
              <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title" id="myModalLabel">Set actual stock count</h4>
              </div>
              <div class="modal-body">
                  <asp:UpdatePanel runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false">
                      <ContentTemplate>
                        <div class="form-group">
                            <asp:Label runat="server" CssClass="control-label col-md-2 ">Item Code</asp:Label>
                            <div class="col-md-2">
                                <asp:TextBox runat="server" ID="txtItemCode" CssClass="form-control" ReadOnly="true"></asp:TextBox>
                            </div>
                            <div class="col-md-6">
                                <asp:TextBox runat="server" ID="txtItemDesc" CssClass="form-control" ReadOnly="true"></asp:TextBox>
                            </div>
                        </div>
                        <div class="form-group">
                            <asp:Label runat="server" CssClass="control-label col-md-2">Stock on Hand</asp:Label>
                            <div class="col-md-2">
                                <asp:TextBox runat="server" ID="txtOnHand" CssClass="form-control" ReadOnly="true"></asp:TextBox>
                            </div>
                        </div>
                        <div class="form-group">
                            <asp:Label runat="server" CssClass="control-label col-md-2">Stock Count</asp:Label>
                            <div class="col-md-2">
                                <asp:TextBox runat="server" ID="txtSTCount" CssClass="form-control decimal-empty"></asp:TextBox>
                            </div>
                        </div>
                        <div class="form-group">
                            <asp:Label runat="server" CssClass="control-label col-md-2">Comment</asp:Label>
                            <div class="col-md-10">
                                <asp:TextBox runat="server" CssClass="form-control" TextMode="MultiLine" ID="txtComment" ></asp:TextBox>
                            </div>
                        </div>
                      </ContentTemplate>
                      <Triggers>
                          <asp:AsyncPostBackTrigger ControlID="stockTakeGrid" EventName="rowcommand" />
                      </Triggers>
                  </asp:UpdatePanel>
              </div>
              <div class="modal-footer">
                  <asp:UpdatePanel runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false">
                      <ContentTemplate>
                        <asp:Button runat="server" ID="cmdSaveLine" CssClass="btn btn-info pull-left" Text="Save" 
                             OnClientClick="$('#myModal').modal('hide');" OnClick="cmdSaveLine_Click" />
                      </ContentTemplate>
                  </asp:UpdatePanel>
                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                </div>
                </div>
              </div>
            </div>

&时代;
设置实际库存数量
项目代码
库存
存货盘点
评论
接近

希望这有帮助

您可以添加gridview并更新aspx页面中的面板代码吗?