【问题标题】:Setting DataKeys for Custom GridView为自定义 GridView 设置 DataKeys
【发布时间】:2011-08-12 18:20:43
【问题描述】:

我有一个由使用它的每个页面自定义的 GridView。我遇到的问题是我无法明确设置 DataKeys 是什么(因为每个页面都会有不同的 - 有些页面甚至根本没有)。

我知道我可以创建一个可以被每个页面更改并设置为 DataKeyNames 的可公开访问的数组,但这不适用于没有数据键的情况(不能为 DataKeyNames 使用空数组),另外,这不是一种可取的做事方式。

我的 GridView 用作 SqlDataSource。我需要 DataKeys 的原因是用于使用 Text DeleteCommandType(而不是 SP——更喜欢这种方式)的 DeleteCommand,并且我需要该行的唯一标识符。

当我实际将 PrimaryKey 行设置为可见的绑定字段时,我可以获得该键名,但由于它是一个 Guid,我不想要那个。

我正在寻找一种将 DataKeys 设置为 PrimaryKey 行(我的 Guid)而不说明它是哪个行名的方法。有没有办法做到这一点?如果没有,解决这个问题的更好方法是什么?

【问题讨论】:

    标签: c# asp.net gridview sqldatasource


    【解决方案1】:

    或者,您可以将值存储在 Hidden field 中,并在需要的地方使用隐藏字段。

    【讨论】:

    • 我尝试过使用隐藏字段,但是如果将 visible 属性设置为 false,则该值在运行时将无法访问。
    • 为什么将它设置为可见 false ?用户根本看不到这一点。您可以将此列的宽度设置为 0px。其次,如果将 column visible 设置为 false,它将不会呈现,您可以在回发时获取该值。
    • 我尝试将宽度设置为 0px,但这似乎不起作用,可能是我的结果,但添加了一个 cssclass 来设置 Display="None" 就可以了。感谢您的帮助和指导!应该这样做。
    猜你喜欢
    • 1970-01-01
    • 2016-05-01
    • 1970-01-01
    • 2015-04-06
    • 2012-03-23
    • 2013-08-25
    • 1970-01-01
    • 1970-01-01
    • 2020-06-03
    相关资源
    最近更新 更多