ASP.NETページにページ区切りのGridViewがあります。 GridViewコントロールのDataBoundイベントで、GridViewに表示されていない基になるDataTableのフィールドを使用して、行の各セルのOnClickイベントをwindow.open()に更新しようとしています。ただし、GridView DataSourceプロパティはnullであり、GridView DataSourceプロパティもnullです。 GridViewのDataKeysのカウントは0です。ページングされたDataSetは20行あり、適切にレンダリングされています。window.open()呼び出しに必要なIDを取得するための基礎データは見つかりません。私のページを構築するとき、私はasp.netのガイドに従っているASP.NET GridViewで基になるDataTableにアクセスするには
:
- Creating a data access layer
- Creating a business access layer
- だから私はDALを持ってDisplaying Data with ObjectDataSource
- > BLL - >のObjectDataSource - >グリッドビュー。 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値にアクセスするにはどうすればよいですか?
それは不動産が少し不足している横画面であるに私はハイパーリンクで別の列を避けていた理由を見つけることができますので、私はむしろ、クリック可能な行全体を持っていると思います関連する文書を開きます。 DataSourceObjectをDataTableまたはDataViewにキャストするとnull値になるため、DataSourceObjectからデータ値を取得する方法が不明です。 – Brandon
私が行ったことは、あなたの最初の例で使用され、のすべてのエントリをエントリに置き換えました。魅力的な作品! –
Brandon