这是我的栅格:
<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>
我想传递数据名称"playerID"与超链接字段的个人球员页。我宁愿不使用查询字符串,所以我认为必须有一种方法使datakeyname会话变量。然后我可以使用我需要的变量,不需要查询字符串。我实在想不出该怎么做
您也可以从后面的代码绑定锚标记。正如你所知,超级链接只不过是一个锚标签。在这种情况下,你可以从后面的代码中绑定锚标签为
<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, "
PageName") %>
试试这个。
HyperLinkField将无法工作。您需要的是一个带有链接按钮类型的命令字段。单击该命令后,RowCommand事件将在回发到服务器时触发,您将写入会话值,然后使用Response.Redirect。