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
答案 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)
您必须手动调用Select
方法:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.sqldatasource.select.aspx
答案 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();
// ...
}