Объединитесь 'встроенный ЕСЛИ' (C#) с response.write

Встроенный стиль только для ясности здесь. Используйте реальную таблицу стилей CSS.

<!-- First, your background image is a DIV with a background 
     image style applied, not a IMG tag. -->
<div style="background-image:url(YourBackgroundImage);">
    <!-- Second, create a placeholder div to assist in positioning 
         the other images. This is relative to the background div. -->
    <div style="position: relative; left: 0; top: 0;">
        <!-- Now you can place your IMG tags, and position them relative 
             to the container we just made -->   
        <img src="YourForegroundImage" style="position: relative; top: 0; left: 0;"/>
    </div>
</div>
9
задан Ether 30 January 2010 в 18:48
поделиться

3 ответа

Стоит понять, что означают различные теги разметки при обработке разметки шаблона ASP.NET:

<% expression %>   - evaluates an expression in the underlying page language
<%= expression %>  - short-hand for Response.Write() - expression is converted to a string and emitted
<%# expression %>  - a databinding expression that allows markup to access the current value of a bound control

Таким образом, чтобы выдать значение тернарного выражения (условный оператор err), вы можете использовать:

<%= (condition) ? if-true : if-false %>

или вы можете написать L

<% Response.Write( (condition) ? if-true : if-false ) %>

Если вы использовали элемент управления привязкой данных (например, повторитель), вы могли бы использовать формат привязки данных для оценки и выдачи результата:

<asp:Repeater runat='server' otherattributes='...'>
     <ItemTemplate>
          <div class='<%# Container.DataItem( condition ? if-true : if-false ) %>'>  content </div>
     </ItemTemplate>
 </asp:Repeater>

Интересный аспект <% #%> расширение разметки заключается в том, что его можно использовать внутри атрибутов тега, тогда как две другие формы (<% и <% =) могут использоваться только в содержимом тега (с некоторыми исключениями для особых случаев). Пример выше демонстрирует это.

19
ответ дан 4 December 2019 в 07:14
поделиться
<%=
    (Discount > 0)
        ? "$" + Html.Encode(discountDto.Discount.FlatOff.ToString("#,###."))
        : ""
%>
9
ответ дан 4 December 2019 в 07:14
поделиться

Поместите Response.Write вокруг всего?: - operation:

<% Response.Write( Discount > 0 ? "$" + Html.Encode(discountDto.Discount.FlatOff.ToString("#,###.") : "" ) %>
3
ответ дан 4 December 2019 в 07:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: