I have an app where I need to dynamically choose an SQLDataSource for a GridView so I can use 1 of 2 stored procedures, depending on who is logged into the system.
My problem is that I am using logic like this, in the button click...
If Session("SiteType") = "Type1" Then
GridView1.DataSourceID = "SqlDataSource2"
Else
GridView1.DataSourceID = "SqlDataSource1"
End If
GridView1.DataBind()
This happens when you click the button that reveals the panel with the gridview in it.
The user then makes changes (basically adjusting a text box on one or more liens of the grid) and then clicks "save". However, the gridview no longer knows its DataSourceID once this happens, so when I try to go through the gridview's rows - there are none.
If, in the save button's click, I put the same code, it (of course) blanks out any of the data changes I made in the form.
So, simply put - how do I dynamically choose the SqlDataSource, but only one time, so that the program then keeps that SqlDataSourceID associated with the gridview until the end of the cycle? Is this a ViewState thing? I don't totally understand ViewState...
Pardon my ignorance - I'm assuming this is kind of simple, but I just don't have a ton of .NET experience. If there is a better way, I'd be interested in hearing that as well - that said, time is of the essence so I'm kind of looking for the quick fix right now (boss is breathing down my neck.. heh).
Thanks!