Solved

How can I access the values of ObjectDataSource from Code-Behind?

Posted on 2007-11-15
2
1,480 Views
Last Modified: 2013-11-07
I placed an ObjectDataSource in my asp.net page (VB.NET) that is bound to a a FormView.  For a simple project this works fine as I use Conainter.DataItem to display the value in a label such as:

<asp:Label ID="lblName" runat="server" Text='<%# Container.DataItem.ProductName %>'></asp:Label>

My question now is - how to I access all the values returned from the ObjectDataSource's SelectMethod from Code-Behind.  There are many reasons why I may want to do this such as conditional formatting, setting variables, cookies, session variables, hiding/displaying panels on the page, etc.

Please let me know how this can be done properly.

Thank you.
<asp:Label ID="lblName" runat="server" Text='<%# Container.DataItem.ProductName %>'></asp:Label>

Open in new window

0
Comment
Question by:blueswitch
2 Comments
 
LVL 6

Accepted Solution

by:
ventaur earned 250 total points
ID: 20291702
If you want to do things inside the FormView after the data is bound, use the FormView's DataBound event and reference it's DataItem object after casting to the appropriate type.
<asp:FormView ID="FormView1" runat="server" DataSourceID="ObjectDataSource1" OnDataBound="FormView1_DataBound">
...
 
 
Protected Sub FormView1_DataBound(sender As Object, e As EventArgs)
	' Get the data item after type casting it appropriately.
	' * Cast to DataRowView if using a DataSet or DataTable.
	Dim Data As Product = TryCast(FormView1.DataItem, Product)
	If Not (Data Is Nothing) Then
		' Change the product name label's style depending on if the product is active or not.
		Dim lblName As Label = DirectCast(FormView1.FindControl("lblName"), Label)
		Dim IsActive As Boolean = Data.IsActive
		If IsActive Then
			lblName.CssClass = "ActiveProduct"
		Else
			lblName.CssClass = "InactiveProduct"
		End If
	End If
End Sub

Open in new window

0
 

Author Closing Comment

by:blueswitch
ID: 31409392
Works like a charm.  Thanks
0

Featured Post

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Gridview selected row 9 44
imap mails 1 22
Help with adding DLL file in Windows project 20 29
Convert datetime to time string 10 21
Today I had a very interesting conundrum that had to get solved quickly. Needless to say, it wasn't resolved quickly because when we needed it we were very rushed, but as soon as the conference call was over and I took a step back I saw the correct …
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
In a recent question (https://www.experts-exchange.com/questions/28997919/Pagination-in-Adobe-Acrobat.html) here at Experts Exchange, a member asked how to add page numbers to a PDF file using Adobe Acrobat XI Pro. This short video Micro Tutorial sh…
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question