【发布时间】:2012-01-19 18:45:05
【问题描述】:
我在 ASP.NET 页面上有一个分页的 GridView。在 GridView 控件的 DataBound 事件中,我尝试使用未显示在 GridView 中的基础 DataTable 中的字段将行中每个单元格的 OnClick 事件更新为 window.open() 一个新页面。但是,GridView DataSource 属性为空,GridViewRow DataItem 属性也是如此。 GridView 的 DataKeys 的计数为 0。分页的 DataSet 有 20 行并且正在正确呈现,我只是找不到基础数据来提取 window.open() 调用所需的 ID。
我在构建页面时遵循了 asp.net 的指南:
所以我有一个 DAL -> BLL -> ObjectDataSource -> GridView。 ID 列被隐藏在 GridView 中:
<asp:GridView ID="pdfdocuments" runat="server" AllowPaging="True"
AutoGenerateColumns="False" DataSourceID="pdfods" PageSize="20"
ondatabound="pdfdocuments_DataBound">
<PagerSettings Mode="NumericFirstLast" />
<Columns>
<asp:BoundField DataField="pdf_id" HeaderText="pdf_id" InsertVisible="False"
ReadOnly="True" SortExpression="pdf_id" Visible="False" />
...
</Columns>
<HeaderStyle BackColor="#FFCC99" />
<AlternatingRowStyle BackColor="#FFFFCC" />
</asp:GridView>
如何访问底层 DataTable 中的 pdf_id 值?
【问题讨论】:
标签: asp.net gridview datatable