0

開発者がグリッドビューを使用したASP.Netサイトのページを検証しようとしています。最初は、データを表示するためにクリックされたいくつかのボタンに基づいて非表示または表示される「プレースホルダー」グリッドビューを使用しているようです。ただし、これらのボタンをクリックする前に、空のテーブルが表示され、使用している検証ツールがtbodyタグまたはtrタグがないことについて不平を言っています。テーブルタグを完全に非表示にする方法、または非表示のグリッドビュー内にtbody / trを挿入する方法はありますか?

aspx.vbファイルのgridviewタグは次のとおりです。

<asp:GridView ID="GridView1"  runat="server" AutoGenerateColumns="False" summery="This table displays system notification items."
 AllowPaging="True" PagerSettings-Position="Top" PagerStyle-HorizontalAlign ="Right" PageSize ="15"  >
<Columns>
    <asp:TemplateField>
     <ItemTemplate>
      <asp:Image ID="image1" runat="server" ImageUrl="~/cmsicons/flag_red.gif" AlternateText="Overdue" Visible='<%# Eval("IsVisible")%>'/>
     </ItemTemplate>
    </asp:TemplateField>
    <asp:BoundField DataFormatString="{0:MM/dd/yyyy}" DataField="showdate" HeaderText="Due Date" 
        SortExpression="showdate"  />
        <asp:BoundField DataFormatString="{0:MM/dd/yyyy}" DataField="ModifiedDate" HeaderText="ModifiedDate" 
        SortExpression="ModifiedDate"  />
    <asp:TemplateField HeaderText="Data ID" SortExpression="DataRecordID">            
        <ItemTemplate>   
          <asp:HyperLink text='<%# Eval("DataRecordID") %>'  runat="server" NavigateUrl='<%# Eval("DataRecordID", "CMSManageAllDataRecord.aspx?dataid={0}") %>' ></asp:HyperLink> 
        </ItemTemplate> 

        </asp:TemplateField> 

    <asp:BoundField DataField="RecordName" HeaderText="Title" 
        SortExpression="RecordName" />       
    <asp:BoundField DataField="subcdrl" HeaderText="CDRL Number" 
        SortExpression="subcdrl" />        
    <asp:BoundField DataField="subcdrl" HeaderText="Sub Cdrl Count" 
        SortExpression="subcdrl" Visible ="false"  /> 
    <asp:BoundField DataField="StatusName" HeaderText="Status" 
        SortExpression="StatusName" />

</Columns>
<EmptyDataTemplate>
                <div>No Data found</div>
            </EmptyDataTemplate>
 <FooterStyle CssClass="GridViewFooterStyle" />
<RowStyle CssClass="GridViewRowStyle" />    
<SelectedRowStyle CssClass="GridViewSelectedRowStyle" />
<AlternatingRowStyle CssClass ="GridViewAlternatingRowStyle" />
<PagerStyle CssClass="GridViewPagerStyle" HorizontalAlign="Right"    />
<HeaderStyle CssClass="GridViewHeaderStyle" />

</asp:GridView>

ソースを表示したときに表示される出力は次のとおりです。

<div class="AspNet-GridView" id="ctl00_ContentPlaceHolder1_GridView1">
          <table cellpadding="0" cellspacing="0" summary="">
          </table>

</div>
4

1 に答える 1

1

Javascriptで間違いなく非表示にすることができます。それがオプションである場合、1つの方法は

<script>
function hideGV(){
    document.getElementById('<%=GridView1.ClientID%>').style.display='none';
}
</script>

むしろ要素を挿入したい場合で、tbody/trjQuery を使用するオプションがある場合は、次の例をご覧ください。

挿入するjQueryオプションtbody/tr

<script>
​$(function(){
    $('#<%=GridView1.ClientID%>').append('<tbody><tr><td></td></tr></tbody>');
});​
</script>
于 2012-12-12T19:31:46.027 に答える