Gridview中的超链接,在C#中自动生成

时间:2013-02-22 08:32:39

标签: c# asp.net

我有一个Gridview,它是通过从各种表中获取数据自动生成的。 现在我的要求是我需要将我的第一列作为超链接,这样如果单击它,则必须导航到具有超链接值的另一页。 在第二页我有Lable这个标签应该显示超链接值,并根据该数据将填充在第二页。

例如: 我有一个10列的gridview ..我的第一列是Emp Id。 如果单击该id,则必须将我带到第二页,并且标签控件必须获取此id值,并且基于该id,应填充其余信息,如emp name emp DOB。 我正在使用C#作为我的代码。

任何人都可以帮我继续.. 等待你的回复

2 个答案:

答案 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}&param2={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并从数据库中获取详细信息。