0

我需要替换每个数据绑定项的链接。我已经检查了数据行的数据绑定事件。问题是我无法控制链接的显示位置。我试图远离 javascript,并将其主要保留在后面的代码中。下面是我的asp代码和我背后的代码。我还想尽量保持相同,而不是更改为 html 模板项。我使用的过程如下。

我有一个自定义对象,其中包含博客条目的所有字段和数据。这些项目被放入一个列表中,然后提供给数据网格。

   <asp:GridView ID="grdRecentNews" runat="server" AutoGenerateColumns="False" DataKeyNames="Key"
                            GridLines="None" PageSize="4" ShowHeader="False"
                            AllowPaging="True">
                            <PagerSettings Visible="False" />
                            <Columns>
                                <asp:TemplateField>
                                    <ItemTemplate>
                                        <blockquote>
                                           <%-- <strong><a href=**"News.aspx"**>--%>
                                            <strong><a href="News.aspx">
                                                <%#Eval("NewsDesc")%></a></strong>
                                            <br />
                                            <span class="italic">
                                                <%#Eval("NewsDate")%></span>
                                        </blockquote>
                                    </ItemTemplate>
                                </asp:TemplateField>
                            </Columns>
                        </asp:GridView>

这是我在 Databound 事件中的代码,问题是我只想为 Rss 对象的一个​​字段提供链接。如下。我想用 rssobject 的链接属性为添加到数据网格的每个项目替换 News.aspx"。

  Protected Sub grdRecentNews_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles grdRecentNews.RowDataBound

        If e.Row.DataItem IsNot Nothing AndAlso e.Row.DataItem.ToString = "RssEntry" Then
            Dim curItem As RssEntry = CType(e.Row.DataItem, RssEntry)
            e.Row.Attributes.Add("href", curItem.Link) 'data-url
        End If

    End Sub
4

1 回答 1

0

我找到了一种将 <%#Eval %> 语句插入到我想要更改的属性中的方法。我将它指向 rssobject 的正确属性及其工作。

<Columns>
                            <asp:TemplateField>
                                <ItemTemplate>
                                    <blockquote>
                                        <strong><a href='<%#Eval("Link")%>'>
                                            <%#Eval("NewsDesc")%></a></strong>
                                        <br />
                                        <span class="italic">
                                            <%#Eval("NewsDate")%></span>
                                    </blockquote>
                                </ItemTemplate>
                            </asp:TemplateField>
                        </Columns>
于 2013-04-09T03:16:22.217 回答