Amy
Amy

Reputation:

Accessing data from my SqlDataSource in the code behind C# .net

I have a contact page where there is a datalist of people and if you click on one of them you get a contact form that I want to send to that particular person.

I use sqldatasource dscontactemail to get information about that person to place on the contact form but how do I get information out of dscontactemail from the code behind for when I'm ready to send that mail?

I put a formview on the page to display the person's picture and I can get whatever I want from that dscontactemail with <%#Eval("email") for example, but how do I get that from the code behind?

I tried a hidden field but it didn't work.

Any other ways to access the SqlDataSource on a page from the code behind?

Upvotes: 3

Views: 14526

Answers (2)

Fandango68
Fandango68

Reputation: 4868

The following is more than sufficient:

dv = yourSqlDataSource.Select(DataSourceSelectArguments.Empty) as DataView;

And interrogate the DataView separately.

If intellisense does not pickup yourSqlDataSource, then simply bind it via the FindControl() of the control that has the data source:

        SqlDataSource sdsPreStartDates = (SqlDataSource)DetailsView1.FindControl("sdsPreStartDates");
        if (sdsPreStartDates != null)
        {
            DataView dv1 = (DataView)sdsPreStartDates.Select(DataSourceSelectArguments.Empty);
..
.. etc
}

Upvotes: 0

Spencer Ruport
Spencer Ruport

Reputation: 35117

First, you really should graduate from using SqlDataSource to the classes available in the SqlClient namespace at some point so keep that in mind.

Here's the code to do it though:

DataView dview = CType(yourSqlDataSource.Select(DataSourceSelectArguments.Empty), DataView);
string str = "";

foreach(DataRow drow dview.Table.Rows)
{
    str += drow("yourcol1").ToString() + "<br />";
}

Upvotes: 2

Related Questions