在代码后面使用SqlDataSource中的值

时间:2012-02-27 14:31:45

标签: asp.net vb.net

SQLDataSource从数据库中获取值后,我希望能够在后面的代码中使用这些值。请多花5分钟给我一些建议。

ASPX标记:

<h2 id="pageHeader" runat="server"></h2>
            <div id="pageContent" runat="server">

            </div> 

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:mkkConnectionString %>" 
        SelectCommand="SELECT [PageHeader], [PageContent] FROM [PageKeeper] WHERE ([PageName] = @PageName)">
        <SelectParameters>
            <asp:QueryStringParameter DefaultValue="AboutUs" Name="PageName" 
                QueryStringField="Page" Type="String" />
        </SelectParameters>
    </asp:SqlDataSource>

代码背后:

Public Sub loadContent(ByVal _PageName As String)
pageHeader.InnerText= "How do i get the value from SQLDatasource ??"
pageContent.InnerHtml="How do i get the value from SQLDatasource ??"
End Sub

4 个答案:

答案 0 :(得分:5)

在您的代码中尝试此操作:

DataView dview = CType(SqlDataSource1.Select(DataSourceSelectArguments.Empty), DataView) 

之后,如果您想要一个列表,请使用DataView访问列:

For Each drow As DataRow In dview.Table.Rows 
    pageHeader.InnerText= CType(drow("PageHeader"), String)
Next drow 

或单身:

pageHeader.InnerText= CType(dview.Table.Rows(0)("PageHeader"), String)

答案 1 :(得分:3)

答案 2 :(得分:2)

如果你想在C#中使用,那么这就是代码

首先不要忘记

using System.Data;

然后在事件代码:

    DataView dview = (DataView) sdsBookInfo.Select(DataSourceSelectArguments.Empty);
    string value = (String)dview.Table.Rows[0]["YourColumnName"];

答案 3 :(得分:0)

我使用了以下内容:

DataView dv = (DataView)GetDataSource().Select(DataSourceSelectArguments.Empty);

foreach (DataRow row in dv.Table.Rows)
{
    long id = Convert.ToInt64(row[0]);
    string name = row[1].toString();
    // ...
}