Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 通过gridview中的hyperlinkfield传递会话变量_Asp.net_Gridview_Session Variables - Fatal编程技术网

Asp.net 通过gridview中的hyperlinkfield传递会话变量

Asp.net 通过gridview中的hyperlinkfield传递会话变量,asp.net,gridview,session-variables,Asp.net,Gridview,Session Variables,这是我的表格: <asp:GridView ID="gvBatters" runat="server" DataKeyNames="playerID" AutoGenerateColumns="False"> <Columns> <asp:HyperLinkField DataTextField="nameFull" HeaderText="Player" NavigateUrl="~/Pa

这是我的表格:

        <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成为会话变量。然后,我可以使用该变量来满足我的需要,而不需要查询字符串。我真想不出该怎么做了,HyperLinkField对此不起作用。您需要的是一个带有按钮类型链接的命令字段。单击该命令时,RowCommand事件在回发到服务器时触发,您将写入会话值,然后使用Response.Redirect。这就是必须要做的。

除了这样做,您还可以从代码背后绑定锚定标记。正如你所知,超链接只是一个锚定标签。因此,在本例中,您可以将代码后面的锚标记绑定为

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

试试这个,如果你想在绑定时输入链接名,你也可以这样写


试试这个。

命令字段没有数据字段。我希望能够单击行中的特定字段,是否可以通过这种方式触发row命令?