нулевые значения списка - PullRequest
       8

нулевые значения списка

0 голосов
/ 02 августа 2010

Я не хочу, чтобы метка показывала, если поле пустое. В строках моей базы данных данные не полны для всех столбцов.

Я думал, что это будет работать:

 <% if(# Eval("recipe_by") == null){%><br /><br /><%} else {%>Recipe by:
<br /><br /> <asp:Label ID="recipe_byLabel" Font-Bold="True" runat="server" Text='<%# Eval("recipe_by") %>' /> }

Я получаю эту ошибку:

Сообщение об ошибке компилятора: CS1040: Директивы препроцессора должны выглядеть как первый непробельный символ на линия

Ошибка источника:

Строка 386: Строка 387: Строка 388: <% if (# Eval ("recipe_by") == null) {%>

<%} else {%> Рецепт по строке 389:

'/>} строка 390:

Сообщение об ошибке компилятора: CS1040: Директивы препроцессора должны выглядеть как первый непробельный символ на линия

Ошибка источника:

Строка 386: Строка 387: Строка 388: <% if (# Eval ("recipe_by") == null) {%>

<%} else {%> Рецепт по строке 389:

'/>} строка 390:

Ответы [ 5 ]

1 голос
/ 02 августа 2010

Это хэш-символ (#), как мы его называем, - я уверен, что вы этого не хотите. Используется для Директив препроцессора .

0 голосов
/ 03 августа 2010

Это то, что я использовал ,,, работает БОЛЬШОЙ !!

<span><%# (String.IsNullOrEmpty(Convert.ToString(Eval("yield"))))? "":" <br/><br/>Yield:<br/><br/>" %></span>  
<asp:Label ID="yieldLabel" Font-Bold="True" runat="server" Text='<%# Eval("yield") %>' />  
0 голосов
/ 02 августа 2010

Если вы устали от попыток настроить встроенные теги для правильной работы, вы можете использовать два других подхода:

  • код позади
  • оператор хранимой процедуры / sql return

Код позади - мой фаворит - если вы работаете с таким объектом, как вид сетки и т. Д., Вам может понадобиться использовать onrowdatabound или другое подобное событие для установки видимых свойств.

Если вы должны использовать встроенные теги, иногда, может быть, было бы проще просто иметь «видимый» столбец в вашем выражении SQL - то есть:

SELECT
   field1,
   field2,
   CASE WHEN recipe_by is null, 'false' ELSE 'true' END as recipe_by_visible
FROM
   table

А затем в вашемвстроенный код:

...
visible = <% eval("recipe_by_visible") %>
...
0 голосов
/ 02 августа 2010
Compiler Error Message: CS0029: Cannot implicitly convert type 'string' to 'bool'

Source Error:



Line 388:         
Line 389:
Line 390:<asp:Label ID="recipe_byLabel" Font-Bold="True" Text="Recipe by:" runat="server"  
Line 391: Visible='<%# (Convert.ToString(Eval("recipe_by")))? Boolean.Parse("false"):Boolean.Parse("true") %>'></asp:Label>  
Line 392: 

Я мог бы поклясться, что сделал бы это!

0 голосов
/ 02 августа 2010

Вот оно

<span>  
 <%# (Eval("recipe_by")==null)? "<br/><br/>":"Recipe By:<br/><br/>" %></span>  
    <asp:Label ID="recipe_byLabel" Font-Bold="True" runat="server" Text='<%# Eval("recipe_by") %>' />  
...