2009-10-12 2 views
0

У меня есть сетка данных, и в этой сетке его сделать этот призыв:(C#) условное в передней части с DataGrid

<ItemTemplate>          
<%#GroupSelectorRoleListControlExtender.GenerateGroupActuator(((GroupListItem)Container.DataItem).Id, ((GroupListItem)Container.DataItem).Name)%> 
</ItemTemplate> 

Я хотел бы сделать что-то вроде этого:

<% if (((SingleAccountGroup)Container.DataItem).Name == "blahblah") {%> 
<ItemTemplate> 
<%#GroupSelectorRoleListControlExtender.GenerateGroupActuator(((SingleAccountGroup)Container.DataItem).Id, ((SingleAccountGroup)Container.DataItem).Name, "portalprofile Name")%> 
</ItemTemplate> 
<%} %> 

Это конечно, не работает, но, надеюсь, вы можете видеть, что я пытаюсь сделать, ему не нравится, что это не связано. Как я могу помещать это условное выражение в такую ​​сетку данных?

ответ

1

вы могли бы использовать тройной оператор, чтобы заставить его работать

<%# 

((SingleAccountGroup)Container.DataItem).Name == "blahblah" ? 
GroupSelectorRoleListControlExtender.GenerateGroupActuator(((SingleAccountGroup)Container.DataItem).Id, ((SingleAccountGroup)Container.DataItem).Name, "portalprofile Name") : "" 

%> 
+0

Он работал, но он ставит пустое место для тех, которые не равны бла-бла ... очень близко, хотя я думаю. – Brandon

+0

Вам придется иметь что-то после else, если вы не хотите «пустого места». Тройной оператор читает (условие)? (IfTrue): (IfFalse). Вы заметите, что в примере Джона возвращаемое значение «IfFalse» - это просто пустая строка. Если вы положите что-то еще, вы будете золотыми. –

+0

Ahh да ок. В этом есть смысл! Благодаря! – Brandon

Смежные вопросы