2012-12-12 2 views
0

개발자가 gridview를 사용하는 ASP.Net 사이트의 페이지를 확인하려고합니다. 처음에는 데이터를 표시하기 위해 클릭되는 일부 버튼을 기반으로 숨겨 지거나 표시되는 "자리 표시 자"gridview가 사용 된 것 같습니다. 그러나 이러한 버튼을 클릭하기 전에 빈 테이블이 보이고 사용중인 유효성 검사 도구가 tbody 또는 tr 태그가 있는지 불평하고 있습니다. 숨겨진 gridview 내에서 tbody/tr을 삽입하기 위해 테이블 ​​태그를 완전히 숨기거나 교대로 삽입 할 수 있습니까?숨겨진 gridview에서 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> 
+0

당신이 –

답변

1

을, 옵션 일 경우 한 가지 방법이 있습니다.

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

tbody/tr 요소를 사용하고 jQuery를 사용하는 것이 당신을위한 옵션이다.

jQuery를 옵션 tbody/tr

<script> 
​$(function(){ 
    $('#<%=GridView1.ClientID%>').append('<tbody><tr><td></td></tr></tbody>'); 
});​ 
</script> 
+0

그래서, 나는이 하나에 포함되어있는 마스터 페이지에 코드를 추가하는 시도 코드를 줄 수 있지만 GridView1가 정의되어 있지 않은 것을 알려줍니다 삽입합니다. 그걸 어떻게 극복 할 수 있는지에 대한 암시가 있습니까? –

+0

GridView가 정의 된 페이지에 코드를 추가해야합니다. 마스터 페이지에는 GridView에 대한 참조가 없으므로 표시되는 오류가 발생합니다. – Icarus

+0

버그가있어서 유감이지만 호출 된 페이지에 스크립트 태그를 삽입하려고 할 때 인텔리 센스 오류가 발생합니다. 콘텐츠 태그 내부 및 외부에서 시도했습니다. 이 일을하는 몇 가지 방법이 있다는 것을 알고 있지만 찾을 수없는 것 같습니다. 죄송합니다. ASP.Net에는 경험이별로 없습니다. : –