dropdownlist postback not firing

  • Thread starter =?iso-8859-1?B?R2VhcvNpZA==?=
  • Start date
G

Guest

Howdy,
Show us how you bind the data. It seems you rebind data on every postback.
 
G

Guest

Strange

I have tried the following

<asp:DropDownList ID="DropDownListMake" runat="server"
CssClass="selectComparison" AutoPostBack="True"
OnSelectedIndexChanged="DropDownListMake_SelectedIndexChanged" >
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
</asp:DropDownList>

--------

protected void DropDownListMake_SelectedIndexChanged(object
sender,EventArgs e)
{
int x ;

if (!DropDownListMake.SelectedIndex.Equals("-1"))
x = Int32.Parse(DropDownListMake.SelectedValue);
}
 
?

=?iso-8859-1?B?R2VhcvNpZA==?=

The bizarre thing is the AutoPostBack="True" does fire. If I place a
breakpoint in my code on the Page_Load it is hit after I select
something in the DropDownList. But when it hitsthe line to see if
it's a postback or not it says it isn't. If I hover over if(!
this.IsPostBack) it tells me IsPostBack is false.

So even the the postback has fired and the breakpoint has been
triggered in my Page_load method, it thinks it's not a postback.
That's what baffles me...

snippet of Page_Load to bind data...

protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
LoadMakes();
}
else // postback
{
nMakeID = int.Parse(DropDownListMake.SelectedValue);
}
}


private void LoadMakes()
{
DataTable dtMakes = new NewBike().GetMakes("Bike");

ClearDropDowns(true, true);
PopulateDropDown(DropDownListMake, dtMakes, "makeid", "makename",
"Make");
}

private void PopulateDropDown(DropDownList ddlList, DataTable dtData,
string strValueField, string strTextField, string strDefaultPromt)
{
ddlList.DataSource = dtData;
ddlList.DataValueField = strValueField;
ddlList.DataTextField = strTextField;
ddlList.DataBind();
ddlList.Items.Insert(0, new ListItem("Choose " + strDefaultPromt,
"-1"));
ddlList.SelectedIndex = 0;
}
 
G

Guest

Hi

each time you populate a DDL ( or every other control )
it's previous ViewState is Cleared/Ignored
that may be the cause for that
the SelectedIndexChange isn't fired
becuse according to the Page the contence has
change , thus irrelevant ( even if it's contence is the same )

-------------------------------------------


If my answer helped you please press "Yes" bellow

Adlai Maschiach
http://blogs.microsoft.co.il/blogs/adlaim/
 
?

=?iso-8859-1?B?R2VhcvNpZA==?=

Thanks for your help. I got this sorted.

I have the following method

protected override object LoadPageStateFromPersistenceMedium()
{

LosFormatter Format = new LosFormatter();
//return Format.Deserialize (Request.Form["__VIEWSTATE"]);
string strSession = "";

if (Session["_ViewState"] != null)
{
strSession = Session["_ViewState"].ToString();
return Format.Deserialize(strSession);
}
else
{
return null;
}
}

This was being called in a basepage. Before it was called the
postback was there, but after it executed it was lost. It appears
this was clearing my viewstate, and in turn losing my postback
 

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

Members online

No members online now.

Forum statistics

Threads
473,754
Messages
2,569,528
Members
45,000
Latest member
MurrayKeync

Latest Threads

Top