Ошибка при встраивании кода Xpath и встроенных тегов сервера - PullRequest
2 голосов
/ 03 мая 2011

Поле шаблона просмотра таблицы -

<% if ((Convert.ToInt64(XPath("NoOfGuests")) < 0))
      { %>
      <asp:ImageButton ID="imgbtnAddResByList" 
                       runat="server" 
                       ImageUrl="~/images/btn-addResByList.PNG" />
      <asp:ImageButton ID="imgbtnCloseResByList" 
                       runat="server" 
                       ImageUrl="~/images/imgdelete.jpg" />
    <%} %>

, которое вызывает ошибку времени выполнения "Исключение базы данных ...".Я думаю, что это происходит, потому что я не использовал # во встроенном коде.Но я не знаю, как и где.Меня беспокоит Я не хочу отображать там две кнопки изображения, когда XPath ("NoOfGhest") <0, но я не хочу делать это в OnDataBound или OnRowCreated из-за проблем с производительностью. </em> Есть ли другой способ ??

1 Ответ

0 голосов
/ 04 мая 2011

Будет ли работать оценка видимости каждой кнопки с условием? Например:

<asp:ImageButton ID="imgbtnAddResByList" runat="server" 
  ImageUrl="~/images/btn-addResByList.PNG"
  Visible='<%# If((Convert.ToInt64(XPath("NoOfGuests")) < 0), "False", "True") %>' />
<asp:ImageButton ID="imgbtnCloseResByList" runat="server" 
  ImageUrl="~/images/imgdelete.jpg"
  Visible='<%# If((Convert.ToInt64(XPath("NoOfGuests")) < 0), "False", "True") %>' />

Кроме того, похоже, что вы не указали свои условия для своего заявления If, поэтому, если вы хотите придерживаться того, что у вас есть, вы можете попробовать что-то вроде:

<%# If((Convert.ToInt64(XPath("NoOfGuests")) < 0), "{", "") %>
  <asp:ImageButton ID="imgbtnAddResByList" 
                   runat="server" 
                   ImageUrl="~/images/btn-addResByList.PNG" />
  <asp:ImageButton ID="imgbtnCloseResByList" 
                   runat="server" 
                   ImageUrl="~/images/imgdelete.jpg" />
<%# If((Convert.ToInt64(XPath("NoOfGuests")) < 0), "}", "") %>

Хотя, если честно, я не думаю, что это сработает.

...