我有一个Gridview,它是通过从各种表中获取数据自动生成的。 现在我的要求是我需要将我的第一列作为超链接,这样如果单击它,则必须导航到具有超链接值的另一页。 在第二页我有Lable这个标签应该显示超链接值,并根据该数据将填充在第二页。
例如: 我有一个10列的gridview ..我的第一列是Emp Id。 如果单击该id,则必须将我带到第二页,并且标签控件必须获取此id值,并且基于该id,应填充其余信息,如emp name emp DOB。 我正在使用C#作为我的代码。
任何人都可以帮我继续.. 等待你的回复
答案 0 :(得分:3)
您需要<asp:HyperLinkField />
<asp:GridView>
<Columns>
<asp:HyperLinkField HeaderText="Id" DataTextField="YourID" DataNavigateUrlFields="YourID"
DataNavigateUrlFormatString="SecondPage.aspx?Id={0}" />
</Columns>
</asp:GridView>
您可能需要删除AutoGenerateColumns="true"
属性并自行输入字段,仅选择要显示的列 - 使用<asp:BoundFied DataField="ColumnName" />
如果要在查询字符串中传递多个值,请使用逗号
分隔字段 DataNavigateUrlFields="YourID, SecondField"
,您的格式字符串将是
DataNavigateUrlFormatString="SecondPage.aspx?Id={0}¶m2={1}"
其他链接
答案 1 :(得分:1)
您可以在GridView中使用TemplateField
列:
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="linkToDetails" runat="server" NavigateUrl='Details.aspx?empId=<%# Eval("empId") %>' Text='<%# Eval("empId") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
在Details.aspx页面上,您应该从QueryString获取empId并从数据库中获取详细信息。