将Querystring参数添加到GridView ItemTemplate

LCJ*_*LCJ 7 .net javascript c# asp.net

我在第一列中有一个带有超链接的gridview.单击超链接后,用户将重定向到Vendor.aspx.现在,我需要将消费者ID(被点击的行)作为查询字符串传递给Vendor.aspx.

实现它的最佳方法是什么?有没有办法只使用标记代码来处理它?

  <asp:GridView ID="grdConsumers" runat="server" AutoGenerateColumns="False" 
                EnableViewState="True" >
                <Columns>

                   <asp:TemplateField HeaderText="ConsumerID" SortExpression="ConsumerID" >
                    <ItemTemplate>
                        <asp:HyperLink ID="lnkConsumerID" href="Vendor.aspx" runat="server"><%# Eval("ConsumerID")%></asp:HyperLink>
                    </ItemTemplate>
                    </asp:TemplateField>



                    <asp:BoundField HeaderText="Status" DataField="Status" SortExpression="Status"></asp:BoundField>
                </Columns>
            </asp:GridView>
Run Code Online (Sandbox Code Playgroud)

相关阅读:

  1. 在用户控件(ASCX)中动态设置Gridview DataNavigateUrlFormatString

  2. 如何向DataNavigateUrlFormatString添加"&Source"?

  3. 使用JavaScript在GridView中选择行

  4. 当绑定值包含冒号时,如何绑定GridView HyperLinkField的URL?

  5. 来自DataSource的asp.net gridview DataNavigateUrlFormatString

Fil*_*urt 2

尝试使用DataNavigateUrlFormatString

<ItemTemplate>
    <asp:HyperLinkField DataNavigateUrlFields="ConsumerID" DataTextField="ConsumerID" DataNavigateUrlFormatString="Vendor.aspx?id={0}" />
</ItemTemplate>
Run Code Online (Sandbox Code Playgroud)

...将它Eval()放入您的href.

如果您愿意,您可以替换DataTextField- 我只是将ConsumerID放在那里以与您的示例保持一致。