Я уже разместил это для поддержки DevExpress, но, честно говоря, у меня нет уверенности в возможности решить проблему, я размещаю ее здесь.ASPxGridView в User Control вызывает проблему кеширования?
У меня есть элемент управления пользователя, содержащий ASPxGridView, чей первый столбец мне нужно скрыть в зависимости от значения свойства, определенного в элементе управления. Свойство принимает переданное значение и присваивает его видимому свойству сетки.
На одной странице у меня есть свойство True; другой, False. Когда я посещаю страницу, где столбец должен быть скрыт первым и перейти на другую страницу, столбец остается скрытым. Когда я захожу на страницу, где он должен быть виден первый, а затем перемещаться на другую страницу, он выдает ошибку б/с столбец определен как таковой:
<dx:GridViewDataTextColumn Caption="Employee" FieldName="TSLinkText" VisibleIndex="0">
<DataItemTemplate>
<a href='<%#GlobalHelper.GetTimesheetURL(Eval("TimesheetID"), Eval("EmployeeID"), Eval("HasTSLink")) %>'
title='View the current timesheet for <%#Eval("TSLinkText")%>'>
<%#IIf(Eval("HasTSLink") = -1, Eval("TSLinkText"), "")%></a>
<%#IIf(Eval("HasTSLink") = 0, Eval("TSLinkText"), "")%>
</DataItemTemplate>
<CellStyle Wrap="False" />
</dx:GridViewDataTextColumn>
у меня есть другой источник данных, определенный на каждом страницы и на странице, где скрыт столбец, процедура, которая извлекает данные, не имеет поля «HasTSLink», поэтому возникает ошибка.
Мне кажется, что пользовательский элемент управления кэшируется. Я попробовал несколько разных подходов, включая настройку свойства VaryByControls для частичного кэширования, но до сих пор ничего не работало.
Почему бы вам не связаться напрямую с официальным каналом поддержки DevExpress? – Mikhail
«Я уже разместил это для поддержки DevExpress, но, честно говоря, у меня нет уверенности в их способности решать проблему, я размещаю ее здесь». - Как и ожидалось, они не помогли. – Ryan