DropDownList & Viewstate
am 31.01.2008 23:56:53 von 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
RE: DropDownList & Viewstate
am 01.02.2008 06:02:19 von rodoopus
// 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;
--
aaa
"jwnews1231@gmail.com" wrote:
> 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
>