2015-05-27 3 views
0

Привет У меня есть страница, на которой отображается информация, полученная из базы данных. И у меня есть текстовое поле и кнопка, которую я хочу скрыть, когда я получаю emptydataset из базы данных.Кнопка и текстовое поле wont go Visible = false

Это код ASPX

<asp:FormView ID="BookDetailView" runat="server" ItemType="WebApplication1.Models.Book" SelectMethod="GetBook" DeleteMethod="DeleteBook" RenderOuterTable="false"> 
    <EmptyDataTemplate> 
     <h1>No book found!</h1> 

    </EmptyDataTemplate> 
    <ItemTemplate> 
     <div style="margin-left: auto; margin-right: auto; width: 50%;"> 
      <div> 


       <h1><b> 
        <asp:TextBox runat="server" BorderStyle="None" ReadOnly="true" Text="<%#:Item.Title %>" ID="bookTitleTextBox"></asp:TextBox></b></h1> 

      </div> 



      <br /> 
      <table style="margin-left: auto; margin-right: auto; width: 50%;"> 
       <tr> 

        <td>&nbsp;</td> 
        <td style="vertical-align: top; text-align: left;"> 
         <span><b>Book ID: </b><asp:TextBox runat="server" BorderStyle="None" ReadOnly="true" Text="<%#:Item.BookID %>" ID="bookIDTextBox"></asp:TextBox></span> 

         <br /> 
         <span><b>Author:</b>&nbsp;<%#:Item.Author %></span> 



         <br /> 
         <span><b>Published:</b>&nbsp;<%#:Item.Published %></span> 
         <br /> 
         <span><b>Is borrowed:</b>&nbsp;<asp:TextBox runat="server" BorderStyle="None" ReadOnly="true" Text="<%#:Item.Borrowed %>" ID="isBorrowedTextBox"></asp:TextBox></span> 
         <br /> 
         <asp:Button runat="server" Text="Delete" OnClick="DeleteBook" /> 

         <br /> 



        </td> 
       </tr> 
      </table> 


     </div> 
    </ItemTemplate> 

</asp:FormView> 


<asp:TextBox runat="server" placeholder="Borrow to user ID" ID="inputUserBorrow"></asp:TextBox> 
<asp:Button runat="server" ID="inputUserBorrowButton" Text="Borrow" Style="margin-left: 5px; margin-bottom: 10px;" OnClick="borrow" /> 
<br /> 

И это выбрать метод в коде позади

public IQueryable<Book> GetBook([QueryString("BookID")] int? BookID) 
    { 
     var _db = new WebApplication1.Models.LibraryContext(); 
     IQueryable<Book> query = _db.Books; 
     if (BookID.HasValue && BookID > 0) 
     { 

      query = query.Where(p => p.BookID == BookID); 
     } 
     else 
     { 
      query = null; 


     } 

     if (query == null) { 
      inputUserBorrow.Visible = false; 
      inputUserBorrowButton.Visible = false; 
     } 
     return query; 
    } 

Спасибо за вашу помощь

PS. Если я поместил в ItemTemplate, код скажет, что текстовое поле и кнопка не известны в текущем контексте.

ответ

0

Поскольку query может быть недействительным, если значение BookID имеет значение. Возможно, вам нужно будет изменить проверку нулевого запроса:

if (query == null || query.Count() == 0) { 
     inputUserBorrow.Visible = false; 
     inputUserBorrowButton.Visible = false; 
    } 
+0

Работал как очарование ... глупое недосмотр –

Смежные вопросы