【问题标题】:Populate Literal elements with the results of a SqlDataSource query使用 SqlDataSource 查询的结果填充 Literal 元素
【发布时间】:2013-05-30 13:57:13
【问题描述】:

我有一个可能非常简单的问题,但答案却完全让我无法理解。我是 ASP.NET (vb) 的新手,但我有扎实的经典 ASP/VB 背景。

我有一个相对简单的数据库,它只包含四列(Language、SiteFooterPrivacyPolicy、SiteFooterTermsAndConditions、SiteFooterCopyright)。我希望执行一个只返回 1 行的查询。

这是到目前为止的主页(连同 SQL SELECT 语句):

    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="dbtest1.aspx.vb" Inherits="dbtest1" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:SqlDataSource ID="MyLanguageDataSource" runat="server" 
                ConnectionString="<%$ ConnectionStrings:customer_support_devConnectionString %>" 
                ProviderName="<%$ ConnectionStrings:customer_support_devConnectionString.ProviderName %>" 
                SelectCommand="SELECT [SiteFooterPrivacyPolicy], [SiteFooterTermsAndConditions], [SiteFooterCopyright] FROM [language_file_2] WHERE ([Language] = 'French')">
            </asp:SqlDataSource>
            <br />
            <br /><b>Literal1PrivPolicy:</b> <asp:Literal ID="Literal1PrivPolicy" runat="server"></asp:Literal>
            <br /><b>Literal2TermsConds:</b> <asp:Literal ID="Literal2TermsConds" runat="server"></asp:Literal>
            <br /><b>Literal3Copyright:</b> <asp:Literal ID="Literal3Copyright" runat="server"></asp:Literal>
            <br />
            </div>
        </form>
    </body>
    </html>

到目前为止,我有这段代码(不起作用),但希望它能比我更好地解释我想要实现的目标:

    Partial Class dbtest1
        Inherits System.Web.UI.Page

        Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load

            Dim dv As New Data.DataView

            dv = MyLanguageDataSource.Select(DataSourceSelectArguments.Empty)

            Literal1PrivPolicy.Text = dv.Table.Rows("SiteFooterPrivacyPolicy").ToString()
            Literal2TermsConds.Text = dv.Table.Rows("SiteFooterTermsAndConditions").ToString()
            Literal3Copyright.Text = dv.Table.Rows("SiteFooterCopyright").ToString()

        End Sub
    End Class

希望你能从中看到我想要做什么。我基本上需要用从我的数据库查询返回的正确列填充我的 Literal 元素。

【问题讨论】:

    标签: asp.net sqldatasource


    【解决方案1】:

    我认为您正在尝试按名称访问行,而您应该按名称访问第一行的列,例如:

    Literal1PrivPolicy.Text = dv.Table.Rows(0)("SiteFooterPrivacyPolicy").ToString()
    

    【讨论】:

    • 完美!这正是我所缺少的。非常感谢:)
    猜你喜欢
    • 1970-01-01
    • 2016-03-06
    • 2019-09-19
    • 2021-04-26
    • 1970-01-01
    • 1970-01-01
    • 2017-12-24
    • 1970-01-01
    • 2011-10-22
    相关资源
    最近更新 更多