3

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?

Arsen Mkrtchyan
  • 49,896
  • 32
  • 148
  • 184

2 Answers2

2

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 />";
}
Spencer Ruport
  • 34,865
  • 12
  • 85
  • 147
0

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
}
Fandango68
  • 4,461
  • 4
  • 39
  • 74