【问题标题】:Pass Session Variable with hyperlinkfield in gridview在gridview中使用超链接字段传递会话变量
【发布时间】:2013-05-10 15:53:12
【问题描述】:

这是我的网格:

        <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”传递给individualPlayer 页面。我更喜欢不使用查询字符串,所以我认为必须有一种方法可以使 datakeyname 成为会话变量。然后我可以使用该变量来满足我的需要,不需要查询字符串。我只是想不出该怎么做

【问题讨论】:

    标签: asp.net gridview session-variables


    【解决方案1】:

    您也可以从后面的代码中绑定锚标记,而不是这样做。如您所知,超链接只不过是一个锚标记。所以在这种情况下,您可以将后面代码中的锚标记绑定为

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

    试试这个,如果你想在绑定的时候加上链接名,你也可以这样写

    &lt;a href='~/Pages/individualPlayer.aspx?Id=&lt;%# DataBinder.Eval(Container.DataItem, "Id") %&gt;'&gt;&lt;%# DataBinder.Eval(Container.DataItem, "PageName") %>

    试试这个。

    【讨论】:

      【解决方案2】:

      HyperLinkField 不适用于此。您想要的是一个带有按钮类型链接的命令字段。单击命令时,RowCommand 事件会在回发到服务器时触发,您将写入会话值,然后使用 Response.Redirect。这就是必须这样做的方式。

      【讨论】:

      • 命令字段没有数据字段。我希望能够单击行中的特定字段,是否可以那样触发行命令?
      猜你喜欢
      • 2012-04-07
      • 1970-01-01
      • 2013-04-02
      • 2012-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-23
      • 1970-01-01
      相关资源
      最近更新 更多