DropDownList & Viewstate

J

jwnews1231

Hi,

I've been working on minimizing the use of the ViewState in my asp.net
applications because of its overhead. The problem I am having is that
I keep losing SelectedIndex in the DropDownLists. I don't lose the
SelectedIndex when the ViewState is enabled, only when it is off.

I have a dropdownlist named countryCbo inside of a UserControl and
countryCbo's EnableViewState property is false. In the OnInit()
method of the UserCountry it loads the country list from the database
and DataBinding it.

public void LoadCountryList() {
// SQL Stuff ...

this.countryCbo.DataTextField = "Name";
this.countryCbo.DataValueField = "Code";
this.countryCbo.DataSource = countries;
this.countryCbo.DataBind();
}

// Doing this will load the countries but I lose the SelectedIndex on
a postback.
protected override void OnInit(EventArgs e) {
LoadCountryList();
base.OnInit(e);
}

// Doing this will load the countries but when a postback occurs I
lose all the countries and the list is empty.
protected override void OnInit(EventArgs e) {
if (!Page.IsPostBack) {
LoadCountryList();
}
base.OnInit(e);
}

I have read somewhere that the SelectedIndex resets back to -1 if a
databind occurs. Would that be the case?
Could someone tell me how they have gotten their dropdownlists to work
without the ViewState being enabled?

Thank you!

JW
 
A

Angel

// Enable postback for the dropdown

// in page load event

int ndx = page.request("DropDownList1");

// Now do you databinding

// then restore the selected index

DropDownList1.SelectedIndex = ndx;
 
J

jwnews1231

Thanks alot, that fixed it. I didn't think to check the Request's
Form variable for the UniqueID of the control.

JW
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top