GridView超链接,带有来自数据库的ID

时间:2013-09-05 22:30:52

标签: asp.net gridview

我有和oBjectDataSource获取我的网格视图的信息。

它完全显示所有信息,自动生成:

<asp:BoundField DataField="Name" ItemStyle-Width="250px" HeaderText="Name" SortExpression="Name">
            <ItemStyle Width="250px"></ItemStyle>
        </asp:BoundField>

但是我想要一个超级链接,字段“名称”为文本,字段“UserID”为navigationURL中的参数:

 <asp:TemplateField>
            <ItemTemplate>
                <asp:HyperLink ID="HyperLink2" NavigateUrl="~/Test.asp?id='<%# Eval("userID") %>'" runat="server"><%# Eval("Name") %></asp:HyperLink>
            </ItemTemplate>
        </asp:TemplateField>

我在这里遇到错误......

怎么了?

4 个答案:

答案 0 :(得分:2)

试试这个:

<asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl='<%# "~/Test.asp?id="+Eval("userID") %>' Text='<%# Eval("Name") %>'></asp:HyperLink>

答案 1 :(得分:1)

您也可以通过这种方式实现 - 更简单,更简单:

<asp:HyperlinkField DataTextField="Name"
        DataNavigateUrlFormatString="~/Test.asp?id={0}"      
        DataNavigateUrlFields="userID"  
        />

答案 2 :(得分:0)

试试这个。似乎问题是在Eval(“userID”)中使用双引号与NavigateUrl中打开双引号冲突

<asp:HyperLink ID="HyperLink2" NavigateUrl='~/Test.asp?id=<%# Eval("userID") %>' runat="server"><%# Eval("Name") %></asp:HyperLink>

答案 3 :(得分:0)

在gridview中添加此字段

在此示例中,Id = ContentId

<asp:HyperLinkField DataNavigateUrlFields="ContentId" DataNavigateUrlFormatString="EditContent.aspx?ContentId={0}" Text="Edit" HeaderText="Edit" />