Использование кода сценария, подобного этому, вероятно, не сработает. Я не думаю, что вы можете смешивать скрипт с шаблонами: скрипт интерпретируется в другое время от привязки данных.
Однако у вас есть UserControl в ItemTemplate, который определяет свойство для ColB
и отображает разную разметку в зависимости от значения COL_B
.
<ItemTemplate>
<span class="item_title"><%# Eval("COL_A")%></span><br/>
<uc1:UserControl1 runat="server" ColB='<%# (int)Eval("COL_B") %>' />
</ItemTemplate>
Затем в управлении пользователем разметке у вас есть два или более элементов управления панели:
<asp:Panel id="panel1" runat="server">
<span>SOMETHING HERE</span>
</asp:Panel>
<asp:Panel id="panel2" runat="server">
<span>DIFFERENT MARKUP HERE</span>
<span>SOMETHING COMPLETELY DIFFERENT HERE</span>
</asp:Panel>
..., а затем в вашем случае PreRender в пользовательском элементе управления фонового кода (не используйте нагрузки , потому что ваш связывании в родительском не будет еще и произошло):
panel1.Visible = false;
panel2.Visible = false;
if(this.ColB > 100)
panel1.Visible = true;
else
panel2.Visible = true;
вы можете продвигать эти два элемента управления панели для вашей родительской страницы, но тогда вам придется сделать вызов .FindControl() в Обработчик события ItemDataBound в orde r, чтобы изменить их свойства и извлечь значение COL_B
из свойства e.Item.DataItem. Множество извлечения значений и литья.
Я отредактировал ваше название.Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –