Мне нужно отобразить список клиентов, но отображать их по-разному в зависимости от параметра.
Для этого у меня есть gridvew, а внутри есть пользовательский элемент управления. Этот элемент управления имеет «если» на основе типа.
Мои проблемы:
Если я добавляю кнопку в элемент управления, при ее нажатии я получаю ошибку проверки кнопки.
Если я отключаю ошибки проверки (enableEventValidation = "false"), я получаю команды кнопок для работы, но я не могу изменить значения в элементе управления ни с полными обратными вызовами, ни с панелью обновления.
<asp:GridView ID="gvClients" runat="server" AutoGenerateColumns="False" >
<Columns>
<asp:TemplateField>
<ItemTemplate>
<xxx:ClientListGridItem ID="ClientListItem1" runat="server" Client='<%# ((Client) Container.DataItem) %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
ClientListGridItem.ascx:
<% if (Client.Style >= 100)
{
%>
<div class="ClientListItem1">
...
<%
}
else
{
%>
<div class="ClientListItem2">
<asp:Button ID="Button2" runat="server" onclick="Button1_Click" Text="Button" />
...
<%
}
%>
Я уверен, что есть более красивый и более объектно-ориентированный способ сделать это тоже ...