Chasing Parameters
Scenario: You use the Visual Studio ASP.NET ReportViewer and you can’t figure out how to get the parameter values when the page posts back. I couldn’t find a straightforward answer on the discussion list so I thought my findings could come useful.
Solution: Depending on your scenario, you can choose one the following three approaches:
1. You can get the current parameter values after the ReportViewer.PreRender method completes. Use another event that fires after PreRender. Based on my testing, the only events I found out to work are ReportViewer.Unload or Page.Unload, e.g.:
protected void reportViewer_Unload(object sender, EventArgs e) {
ReportViewer.ReportParameterInfoCollection parameters = reportViewer.ServerReport.GetParameters();
}
2. Subclass the control and override OnPreRender, calling the base method and then obtaining the parameter values.
3. If you are using Visual Studio 2010, the new ReportViewer exposes a new SubmittingParameterValues event for this purpose.