0

ここに私のグリッドビューがあります:

        <asp:GridView ID="gvBatters" runat="server" DataKeyNames="playerID" 
    AutoGenerateColumns="False">
    <Columns>
        <asp:HyperLinkField DataTextField="nameFull" HeaderText="Player" 
            NavigateUrl="~/Pages/individualPlayer.aspx" />
        <asp:BoundField DataField="g" HeaderText="G" />
        <asp:BoundField DataField="avg" HeaderText="AVG" />
        <asp:BoundField DataField="obp" HeaderText="OBP" />
        <asp:BoundField DataField="slg" HeaderText="SLG" />
        <asp:BoundField DataField="ops" HeaderText="OPS" />
        <asp:BoundField DataField="rc" HeaderText="RC" />
        <asp:BoundField DataField="h" HeaderText="H" />
        <asp:BoundField DataField="doub" HeaderText="2B" />
        <asp:BoundField DataField="trip" HeaderText="3B" />
        <asp:BoundField DataField="hr" HeaderText="HR" />
        <asp:BoundField DataField="rbi" HeaderText="RBI" />
    </Columns>
</asp:GridView>

ハイパーリンク フィールドを含む datakeyname "playerID" を individualPlayer ページに渡したいと思います。クエリ文字列を使用したくないので、datakeyname をセッション変数にする方法が必要だと考えていました。その後、必要なものにその変数を使用できます。クエリ文字列は必要ありません。私はこれを行う方法を考えることはできません

4

2 に答える 2

0

これを行う代わりに、コード ビハインドからアンカー タグをバインドすることもできます。ご存じのとおり、ハイパー リンクはアンカー タグにすぎません。したがって、この場合、コードビハインドからアンカータグを次のようにバインドできます

<a href='~/Pages/individualPlayer.aspx?Id=<%# DataBinder.Eval(Container.DataItem, "Id") %>'>Player</a>

これを試して、バインド中にリンク名を入れたい場合は、次のように書くこともできます

<a href='~/Pages/individualPlayer.aspx?Id=<%# DataBinder.Eval(Container.DataItem, "Id") %>'><%# DataBinder.Eval(Container.DataItem, "ページ名") %>

これを試して。

于 2013-05-10T19:12:26.267 に答える