【问题标题】:Hide Data in asp.net GridView Except When Editing隐藏asp.net GridView中的数据,编辑时除外
【发布时间】:2012-03-26 04:13:51
【问题描述】:

我正在使用 asp:GridView 在 asp.net 中显示数据表,.aspx 页面。 我有一列包含敏感信息。 我想显示数据灰显的列或任何其他隐藏它的方法,这样当页面/gridview 加载时,不仅有一个巨大的数据列可见列表。
但是,当在特定行上单击编辑按钮时,我希望列中的敏感数据可见且可编辑。

关于如何实现这一点的任何想法?

【问题讨论】:

  • 那么隐藏目的是什么?单击编辑按钮时,会显示此敏感数据,有什么隐藏的原因吗?
  • 我只是不想在页面/gridview 加载时每一行都显示数据。由于同一用户输入了敏感数据,因此用户一次查看一行是可以的。此外,它还可以防止打印出这些数据的完整列表,并使人们更难从背后看这些数据,尤其是当它在编辑时只显示在一行中时。
  • @Baxter 让人们编辑您不希望他们看到的数据有什么意义??
  • @huMpty duMpty 请参阅我上面的评论。

标签: asp.net gridview edit show-hide sensitive-data


【解决方案1】:

将列转换为模板。

然后您可以编辑 GridView 模板。有不同的模板可供查看和编辑。

【讨论】:

    【解决方案2】:
    1. 如果您不想显示数据,为什么要在编辑模式下显示?人们也可以在编辑模式下注视吗?
    2. 如果您要在 gridview 中隐藏数据的详细细节,您可以打开一个模式对话框/弹出窗口。
    3. 目前,您可以使用 gridview 的 DataKeys 并将此列定义为 gridview 的 dataKey
    4. 您还可以在单​​击编辑按钮时将页面上的属性设置为 true 或 false 并切换控件的可见性(这将在数据绑定事件期间自动工作)

      private bool isEdit; 
      protected bool IsEditMode
              {
                get {return isEdit;}
               set {isEdit=value;
              }
      

    然后在您的 aspx 中,您只需通过

    即可切换所需的控件可见性

    Visible='<%# IsEditMode %>'

    【讨论】:

      【解决方案3】:

      您可能希望使用 gridview 的 rowdatabound 事件来完成您的工作。在当前行中找到特定的控件(可能是文本框),然后简单地设置 disabled = true。或者您也可以设置 visible=false 以隐藏该行中的特定控件。如果我正确地得到你,那么这应该做你的工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-12-24
        • 2013-12-25
        • 1970-01-01
        • 1970-01-01
        • 2016-08-18
        • 2014-09-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多