2010-01-27 2 views
0

J'ai deux DropDownLists, en sélectionnant la première liste déroulante provoque postback et deuxième menu déroulant se binded ...Pourquoi l'option dropdownlist sélectionnée ne provoque-t-elle pas une deuxième période de publication?

  • Pourquoi la valeur sélectionnée de la première liste déroulante, une nouvelle fois sélectionné ne provoque pas postback?

EDIT:

<asp:DropDownList ID="DLMatName" runat="server" OnSelectedIndexChanged="DlMeasurement_SelectedIndexChanged" AutoPostBack="true"> 
               </asp:DropDownList> 


protected void DlMeasurement_SelectedIndexChanged(object sender, EventArgs e) 
{ 

    if (DLMatName.SelectedIndex != 0) 
    { 
     DataTable dt = _materialInController.GetMeasurementsforMaterials(Convert.ToInt64(DLMatName.SelectedValue.ToString())).Tables[0]; 
     if (dt.Rows.Count > 1) 
     { 
      MeasurementTr.Visible = true; 
      this.DlMeasurement.DataSource = dt; 
      this.DlMeasurement.DataValueField = dt.Columns[0].ToString(); 
      this.DlMeasurement.DataTextField = dt.Columns[1].ToString(); 
      this.DlMeasurement.DataBind(); 
      this.DlMeasurement.Items.Insert(0, ListItem.FromString("Select")); 
      this.LblMeasuremet.Visible = false; 
      ErrorMsg.InnerHtml = "";    
     } 
     else if (dt.Rows.Count == 1) 
     { 
      this.LblMeasuremet.Visible = true; 
      this.LblMeasuremet.Text = dt.Rows[0].ItemArray[1].ToString(); 
      MeasurementTr.Visible = false; 
      ErrorMsg.InnerHtml = "";  

     } 
     else 
     { 

     } 
    } 
    else 
    { 
     MeasurementTr.Visible = false; 
     this.LblMeasuremet.Visible = false; 
     ErrorMsg.InnerHtml = "Select the materialType"; 
    } 
    ScriptManager.RegisterClientScriptBlock(DLMatName, typeof(DropDownList), "Hideimage", "HideImageButtonDivforAdd();", true); 

} 

Première fois une valeur de postbacks de sélection, même lorsqu'elle est sélectionnée deuxième fois ne Postback ...

+0

Publier votre code serait énormément plus utile, à savoir votre balisage aspx. –

+0

Avez-vous la propriété ** AutoPostBack ** de la liste déroulante définie sur true? Si oui, ajoutez du code à votre question. –

+0

Avez-vous essayé de commenter l'appel "ScriptManager.RegisterClientScriptBlock"? – RobS

Répondre

0

Êtes-vous reconsolidation la seconde liste déroulante sur chaque postback de la page, c'est-à-dire dans votre événement Page_Load avez-vous un code tel que celui-ci:

protected void Page_Load(object sender, EventArgs e) 
{ 
     if (DropDown1.SelectedIndex > 0) 
     { 
      // Rebind the second dropdown. 
     } 
} 

Si c'est le cas, il vous manque une vérification pour voir si la page est postée sur elle-même (Page.IsPostBack) et cela causerait votre problème.

Questions connexes