2010-01-27 54 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),这会导致你的问题。

相关问题