我在第一列中有一个带有超链接的 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>
阅读 Material :
最佳答案
尝试使用 DataNavigateUrlFormatString
<ItemTemplate>
<asp:HyperLinkField DataNavigateUrlFields="ConsumerID" DataTextField="ConsumerID" DataNavigateUrlFormatString="Vendor.aspx?id={0}" />
</ItemTemplate>
... 它将避免 Eval()
以及将其放入 href
时单引号/双引号的问题。
如果您愿意,您可以替换 DataTextField
- 我只是将 ConsumerID 放在那里以与您的示例保持一致。
关于c# - 将 QueryString 参数添加到 GridView ItemTemplate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10752585/