Ошибка при встраивании кода Xpath и встроенных тегов сервера
Сетка Просмотр шаблона поля -
<% 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 из-за проблем с производительностью. Есть ли другой путь??
1 ответ
Решение
Будет ли это работать, чтобы оценить видимость каждой кнопки с условием? Например:
<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), "}", "") %>
Хотя, если честно, я не думаю, что это сработает.