Условно маркиране в aspx

Имам ListView. Ако искам да базирам html маркирането на условие по отношение на обвързания с данни елемент, какъв би бил най-добрият начин да направя това?

Това, което имам предвид е, има ли друг начин освен поставянето на ‹% %> if/else блокове директно в маркирането?

Наясно съм, че един наистина грозен начин да го направите е да поставите html маркиране в полето на базата данни и просто да оставите Eval() да изтръгне правилното маркиране (аз не правя това).

Бих искал също да избегна поставянето на действителни блокове ‹% %> C# в кода.

Някакви добри идеи?

РЕДАКТИРАНЕ: Мисля да направя 3 различни asp:панели, зададени visible:false, и след това в свързаното с данни събитие на listview, да задам съответния панел visible:true въз основа на условието - някой има някакви дизайнерски мнения относно тази идея?


person Dynde    schedule 23.03.2010    source източник


Отговори (2)


Разрешен...

Завърших с 3 панела и след това проверих условието в събитието itemDataBound...

Все пак бих искал мнение относно дизайнерските последици от това решение.

person Dynde    schedule 23.03.2010
comment
Мисля, че използването на ‹% %› кодови блокове в маркирането е МНОГО по-чисто от използването на проста логика за маркиране в кода отзад. Мислете за този код като код за маркиране, точно като JavaScript. Обикновено бих използвал много прост код с троичния оператор, за да получа видим или невидим клас за моя таг. Можете да го използвате и за извеждане на условно маркиране. Ако нещата започнат да стават по-сложни, можете да напишете функция зад кода и да я извикате. - person Loudenvier; 30.07.2013

Замяната на едно от събитията „рендиране“ на една от „клетките“ на списъка трябва да свърши работа. Писането на собствен код за условно маркиране не е толкова лошо, като се имат предвид алтернативите.

Но моля, използвайте колкото е възможно повече CSS за реалния състав на страницата.

person CodingBarfield    schedule 23.03.2010