【发布时间】:2017-04-20 21:30:32
【问题描述】:
我有一个实例,它显示了一个 listView。
listview在更新面板中,它需要响应每个数据源绑定,并通过检查一个Session来显示/隐藏listView表中的一列。
我不能简单地添加
<% if((int)Session["v1"] ==1) { %> <td>Hi</td> <%}%>
当 存在时会抛出异常,表示更新面板无法更新。
(但它适用于更新面板之外的控件)
我想我可以通过 javascript 来完成,但我只是想确定后端是否有更智能的方法。
class='<%# HiddenClass %>'
并在加载期间更改此参数(如果应显示列,请将 HiddenClass 更改为空字符串。
它适用于项目的列(在 ItemTemplate 中),但它不适用于项目的标题列 LayoutTemplate(我认为这是因为仅数据源绑定重新渲染了 ItemTemplate 中的字段并且不包括 LayoutTemplate。
目前,如果对于列表视图的每个数据源绑定,我能够隐藏它以将 runat="server" Visible 设置为 false。但是当我需要隐藏更多列时看起来很复杂(需要创建更多ID并且asp.net无法按类设置字段可见)。
【问题讨论】: