2010-01-27 74 views
0

我有兩個dropdownlists,選擇第一個下拉導致回傳和第二個下拉被綁定...爲什麼選擇dropdownlist選項不會導致第二次回發?

  • 爲什麼第一個下拉的選擇的價值,再次選擇不回發?

編輯:

<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); 

} 

第一次選擇的值回傳,同樣的選擇時第二次不回傳...

+0

發佈您的代碼將非常有用,即您的aspx標記。 – 2010-01-27 12:51:55

+0

您是否將下拉列表的** AutoPostBack **屬性設置爲true?如果是這樣,請向您的問題添加一些代碼 – 2010-01-27 12:52:26

+0

您是否嘗試過註釋掉「ScriptManager.RegisterClientScriptBlock」調用? – RobS 2010-01-27 12:59:30

回答

0

你在每次回傳重新綁定第二個下拉的頁面,即在你的Page_Load事件中,你是否有這樣的代碼:

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

如果是這樣,那麼你錯過了一個檢查,看看頁面是否發回自己(Page.IsPostBack),這會導致你的問題。

相關問題