Reputation:
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
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
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