更改数据列表中超链接上的文本

发布于 2024-12-19 13:51:05 字数 1286 浏览 0 评论 0原文

我正在尝试将我编写的 SQL 代码中的列绑定到数据列表中的所有超链接。这应该非常简单,但我收到了错误

数据绑定:“System.Data.Common.DataRecordInternal”不包含 名为“NumberOfComments”的属性。

嗯,我很确定该列存在,但在这种情况下,它是由一个函数创建的,也许与它有关。当我运行 SQL 代码时,我得到了我应该得到的值。

超链接

            <asp:HyperLink ID="lnkComment" runat="server" 
                NavigateUrl='<%# Eval("ID", "~/Default.aspx?ID={0}") %>' 
                Text='<%# Eval("NumberOfComments") %>'></asp:HyperLink>

SQLDataSource

        <asp:SqlDataSource ID="sdsNews" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ASPNETDBConnectionString %>" SelectCommand="SELECT        News.ID, News.Topic, News.Text, News.PostTime, aspnet_Users.UserName, &quot;NumberOfComments&quot; = dbo.fnNumberOfCommentOnNews(News.ID)
FROM            News INNER JOIN
                         aspnet_Users ON News.UserId = aspnet_Users.UserId
WHERE        (News.ID = ISNULL(@ID, News.ID))
ORDER BY News.PostTime DESC ">
            <SelectParameters>
                <asp:QueryStringParameter DbType="Guid" Name="ID" QueryStringField="ID" DefaultValue="" />
            </SelectParameters>
        </asp:SqlDataSource>

I'm trying to bind a column from a SQL code that i have written to all hyperlinks in a datalist. This should be really simple but I'm getting the error

DataBinding: 'System.Data.Common.DataRecordInternal' does not contain
a property with the name 'NumberOfComments'.

Well I'm pretty sure the column exist but in this case it's created by a function maybe that has something to do with it. When I run the SQL code i get the values I should.

The hyperlink

            <asp:HyperLink ID="lnkComment" runat="server" 
                NavigateUrl='<%# Eval("ID", "~/Default.aspx?ID={0}") %>' 
                Text='<%# Eval("NumberOfComments") %>'></asp:HyperLink>

The SQLDataSource

        <asp:SqlDataSource ID="sdsNews" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ASPNETDBConnectionString %>" SelectCommand="SELECT        News.ID, News.Topic, News.Text, News.PostTime, aspnet_Users.UserName, "NumberOfComments" = dbo.fnNumberOfCommentOnNews(News.ID)
FROM            News INNER JOIN
                         aspnet_Users ON News.UserId = aspnet_Users.UserId
WHERE        (News.ID = ISNULL(@ID, News.ID))
ORDER BY News.PostTime DESC ">
            <SelectParameters>
                <asp:QueryStringParameter DbType="Guid" Name="ID" QueryStringField="ID" DefaultValue="" />
            </SelectParameters>
        </asp:SqlDataSource>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

春庭雪 2024-12-26 13:51:05

为什么 NumberOfComments FieldName 周围有“"”?

尝试将 select 命令粘贴到 SSMS(SQL Server Mgmt studio)中,您肯定会收到不正确的语法错误。如果您删除这些 quot html 代码,您仍然可以引用并绑定到该列。

Why do you have """ surrounding NumberOfComments FieldName?

Try pasting the select command into SSMS (SQL Server Mgmt studio) and you should most definitely get an incorrect syntax error. If you drop those quot html code you will still be able to reference and bind to that column.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文