2009-07-07 2 views
0

это можно сделать что-то вроде следующего в ASP.NET:Есть ли способ вставить (или избежать) встроенный код ASP.NET внутри угловых скобок HTML?

<tr<%= index++ % 2 == 0 ? " class=\"alt-row\"" : ""; %>> 

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

(я знаю, что альтернатива:.

<% if (index++ % 2 == 0) { %> 
    <tr class="alt-row"> 
<% } else { %> 
    <tr> 
<% } %> 

я просто интересно, если другой путь возможен)

+0

Я не уверен, что понимаю, что вы просите, ваша первая строка кода выглядит нормально. – AnthonyWJones

+0

Использовать альтернативу - это намного проще читать! – Quentin

ответ

5

Да, вы можете сделать это (по крайней мере, в MVC), хотя ваш пример имеет пару ошибок.

Вот фиксированная версия:

<tr<%= index++ % 2 == 0 ? " class=\"alt-row\"" : "" %>> 
+0

ОК, это сработало. я пытался избежать пространства для тех, у кого нет класса. – gabe

+0

Я обновил пример, чтобы сделать это. –

+0

Вторая ошибка, BTW, была дополнительной точкой с запятой в конце, которая не может использоваться с% = –

0

Вы пробовали это еще? Подобный тест работал отлично для меня.

+0

Да, у меня есть, и это не сработало для меня. вы просто точно, что я сделал? – gabe

+0

Не может ли это быть пробелом между tr и <%? Можете ли вы опубликовать полученный HTML? – Lazarus

0

Я использовал конструкцию <%%> внутри тегов для назначения свойств, поэтому я бы предположил, что это сработает. Разве это не сработало?

0

Попробуйте это.

<tr class="<%= index++ % 2 == 0 ? "alt-row" : "" %>">