通过Javascript获取父GridView中的Div Id

通过Javascript获取父GridView中的Div Id,javascript,jquery,asp.net,gridview,Javascript,Jquery,Asp.net,Gridview,我想获得id为forExport和隐藏字段值的div <table width="100%"> <tr> <td> <asp:HiddenField ID="hidGridView" runat="server"/> <asp:GridView ID="grvPayroll" CssClass="table table-striped table-bordered table-hover"

我想获得id为forExport和隐藏字段值的div

<table width="100%">
<tr>
    <td>
    <asp:HiddenField ID="hidGridView" runat="server"/>
    <asp:GridView ID="grvPayroll" CssClass="table table-striped table-bordered table-hover"
                  AllowPaging="true"
                  runat="server" AutoGenerateColumns="False" DataKeyNames="Id"
                  OnRowCancelingEdit="grvPayroll_RowCancelingEdit" OnRowDataBound="grvPayroll_RowDataBound"
                  OnRowEditing="grvPayroll_RowEditing" OnRowUpdating="grvPayroll_RowUpdating"
                  OnRowCommand="grvPayroll_RowCommand" ShowFooter="True" OnRowDeleting="grvPayroll_RowDeleting"
                  OnRowDeleted="grvPayroll_RowDeleted" OnRowUpdated="grvPayroll_RowUpdated"
                  OnPageIndexChanging="grvPayroll_OnPageIndexChanging" PageSize="5" OnRowCreated="grvPayroll_RowCreated">
    <Columns >
<asp:TemplateField>
    <ItemTemplate>
        <a href="javascript:expandcollapse('div<%# Eval("Id") %>', 'one');">
            <img id='imgdiv<%# Eval("Id") %>' alt="Click to show/hide Payroll Details <%# Eval("PayrollCode") %>" border="0" src="../App_Themes/Admin/img/plus.png"/>
        </a>
    </ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="PayrollCode" SortExpression="PayrollCode">
    <EditItemTemplate>
        <asp:TextBox ID="txtPayrollCode" runat="server" Text='<%# Eval("PayrollCode") %>' CssClass="textbox"></asp:TextBox>
        <asp:RequiredFieldValidator ID="rfvtxtPayrollCode"
                                    runat="server" ControlToValidate="txtPayrollCode"
                                    ErrorMessage="Required">
            *
        </asp:RequiredFieldValidator>
    </EditItemTemplate>
    <FooterTemplate>
        <asp:TextBox ID="txtNewPayrollCode" runat="server" CssClass="textbox"></asp:TextBox>
    </FooterTemplate>
    <ItemTemplate>
        <asp:Label ID="lblPayrollCode" runat="server" Text='<%# Bind("PayrollCode") %>'></asp:Label>
    </ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Function" ShowHeader="False">
    <EditItemTemplate>
        <asp:LinkButton ID="lbtUpdate" runat="server" CausesValidation="False" CommandName="Update" Text="Update"></asp:LinkButton>
        <asp:LinkButton ID="lbtCancel" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel"></asp:LinkButton>
    </EditItemTemplate>
    <FooterTemplate>
        <asp:ImageButton ID="lbtAddNew" runat="server" ToolTip="Add New" ImageUrl="../App_Themes/Admin/img/file_add.png" CausesValidation="False" CommandName="AddNew"/>
    </FooterTemplate>
    <ItemTemplate>
        <asp:ImageButton ID="lbtEdit" runat="server" ToolTip="Edit" ImageUrl="../App_Themes/Admin/img/edit.png" CausesValidation="False" CommandName="Edit"/>
        <asp:ImageButton ID="lbtDelete" runat="server" ToolTip="Delete" ImageUrl="../App_Themes/Admin/img/delete.png" OnClientClick=" return confirm('Are you sure you want to delete this?'); " CausesValidation="False" CommandName="Delete"/>
    </ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
    <ItemTemplate>
        <tr>
            <td colspan="100%">
                <div id='div<%# Eval("Id") %>' style="display: none; left: 15px; OVERFLOW: auto; position: relative; WIDTH: 98%">                
                    <div id="forExport">                
                        <asp:GridView ID="grvPayrollDetails" 
                                      EmptyDataText="No Records Found" CellPadding="5" ForeColor="#333333" GridLines="Both" AllowPaging="False"
                                      runat="server" AutoGenerateColumns="False" DataKeyNames="PayrollID" 
                                      OnRowDataBound="grvPayrollDetails_RowDataBound" OnRowCreated="grvPayrollDetails_RowCreated">
                            <AlternatingRowStyle CssClass="GridStyle_AltRowStyle2"/>
                            <HeaderStyle CssClass="GridStyle_HeaderStyle2"/>
                            <RowStyle CssClass="GridStyle_RowStyle2"/>                        
                            <Columns >                               
                                <asp:TemplateField HeaderText="Mã NV">
                                    <ItemTemplate>
                                        <asp:Label ID="plEmpID" runat="server" Visible="false" Text='<%# Eval("EmpID").ToString() %>'></asp:Label>
                                        <%#get_EmpCode(Eval("EmpID").ToString()) %><br/>
                                    </ItemTemplate>
                                </asp:TemplateField>
                                 <asp:TemplateField HeaderText="Tổng chi phí">
                                    <ItemTemplate>
                                        <asp:Label ID="lblTotalPaymentCost" runat="server" Text='<%#Format_Money(Eval("TotalPaymentCost").ToString()) %>'></asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateField>
                            </Columns>
                        </asp:GridView>                          
                    </div>
                </div>
            </td>
        </tr>
    </ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</td>
</tr>
</table>


要访问asp.net控件的id,必须使用ClientID,如下所示

document.getElementById('<%=hidGridView.ClientID%>').value =  htmlEscape(document.getElementById("forExport").innerHTML);
document.getElementById(“”).value=htmlscape(document.getElementById(“forExport”).innerHTML);

要访问asp.net控件的id,您必须使用客户端id,如下所示

document.getElementById('<%=hidGridView.ClientID%>').value =  htmlEscape(document.getElementById("forExport").innerHTML);
document.getElementById(“”).value=htmlscape(document.getElementById(“forExport”).innerHTML);

请共享完整的
gridview
markup?发布完整的html标记,以便我们了解您的问题并为您提供一些解决方案。如果可能,提供工作小提琴!是的,我将用完整的html标记编辑我的帖子。我还将隐藏字段放在div forExport附近的父Gridview中,但无效,空值,请共享完整的
Gridview
markup?发布完整的html标记,以便我们了解您的问题并为您提供一些解决方案。如果可能,提供工作小提琴!是的,我会用完整的标记HTMLI编辑我的文章。我也会把隐藏的字段放在父Gridview的div forExport附近,但是没有用,空值,谢谢你的帮助。但它适用于单一Gridview,在我的情况下是空的,谢谢您的帮助。但是它适用于单个Gridview,在我的例子中它是空的
document.getElementById('<%=hidGridView.ClientID%>').value =  htmlEscape(document.getElementById("forExport").innerHTML);