2013-04-05 2 views
0

SQL 데이터 원본에서 데이터를 검색하는 목록보기가 있습니다. 목록보기가 비어 있지 않은 경우에만 두 개의 단추 (예 및 아니오)와 목록보기 외부의 레이블을 표시하려고합니다. 과정은 다음과 같습니다 : 사람이 텍스트 상자에 정보를 입력하고 단추를 클릭하십시오. 입력 된 데이터가 데이터베이스에 있으면 목록보기에 특정 정보가 표시됩니다. 나는 다음과 같은 코드를 가지고 : 기본 버튼과 레이블로목록보기가 비어 있으면 단추가 표시됩니다.

protected void btnExistingRetrive_Click(object sender, EventArgs e) 
{ 

    if (lstExisting.Items.Count>0) 
    { 
     lblIsITYou.Visible = true; 
     btnYes.Visible = true; 
     btnNo.Visible = true; 
    } 

} 

가 표시되지 않습니다를. 문제는 내가 검색 버튼을 클릭하면 정보가있는 목록보기가 표시되지만 버튼은 여전히 ​​표시되지 않습니다. 검색 버튼을 두 번 클릭했을 때만 표시됩니다. 제 실수는 무엇입니까? 는

답변

1

당신이 목록보기를 결합 할 사용하여 감사?

+0

그건 내가 잊은 것입니다. 방금 추가했는데 제대로 작동합니다. 팁을 많이 드려야합니다. – Eugene

+0

이것이 도움이된다면 이것을 답으로 표시하여 다른 사람들이 이것이 답이라는 것을 아는 것입니다. – qamar

4

이 항목 개수 확인하기 전에 ListView EmptyDataTemplate

<asp:ListView ID="ContactsListView" 
    DataSourceID="ContactsDataSource" 
    runat="server"> 
    <LayoutTemplate> 
     <table runat="server" id="tblProducts"> 
     <tr runat="server" id="itemPlaceholder" /> 
     </table> 
    </LayoutTemplate> 
    <ItemTemplate> 
     <tr runat="server"> 
      <td> 
      <asp:Label ID="FirstNameLabel" runat="Server" Text='<%#Eval("FirstName") %>' /> 
      </td> 
      <td> 
      <asp:Label ID="LastNameLabel" runat="Server" Text='<%#Eval("LastName") %>' /> 
      </td> 
     </tr> 
     </ItemTemplate> 
     <EmptyDataTemplate> 
      <table class="emptyTable" cellpadding="5" cellspacing="5"> 
      <tr> 
       <td> 
       <asp:Image ID="NoDataImage" 
        ImageUrl="~/Images/NoDataImage.jpg" 
        runat="server"/> 
       </td> 
       <td> 
       No records available. 
       </td> 
      </tr> 
      </table> 
     </EmptyDataTemplate> 
    </asp:ListView> 
+0

대단히 감사합니다! – Eugene

1

이벤트 대신 포스트 백에서이 작업을 수행하십시오. 귀하를 Page_Load에서 은 같은 것을 할 :

protected void Page_Load(object sender, EventArgs e) 
{ 
    bool visible = (lstExisting.Items.Count > 0); // assuming it's never null 
    lblIsITYou.Visible = visible; 
    btnYes.Visible = visible; 
    btnNo.Visible = visible; 
} 

위에서 내가 다시 게시 먼저 말했듯이 합병증은 다음을 수행 만드는 경우 :

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (IsPostBack) 
    { 
     bool visible = (lstExisting.Items.Count > 0); // assuming it's never null 
     lblIsITYou.Visible = visible; 
     btnYes.Visible = visible; 
     btnNo.Visible = visible; 
    } 
} 
+0

도움 주셔서 대단히 감사합니다. – Eugene

관련 문제