2012-05-30 111 views
1

我建立一个动态的单选按钮列表列出所有的记录,将特定搜索项目,并允许用户选择相关选项。然而,我遇到的问题是SelectedInhdexChanged事件永远不会触发。ASP.Net RadioButtonList的SelectedIndexChanged事件不触发

我已经试过初始化在RadioButtonList和在Page_Load和page_init方法分配的事件处理程序。我也试着拖动单选按钮列表到页面上,双击它来创建事件处理程序way-但仍没有运气。

任何想法?我已经粘贴下面给你看看我的代码:

这里是我的Page_Load和事件处理方法:

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!Page.IsPostBack) 
     { 
      measureDropdown = loadDropdown("GetMeasuringTypes", measureDropdown); 
      categoryDropdown = loadDropdown("GetCategories", categoryDropdown); 
     } 

     rBtn = new RadioButtonList(); 
     rBtn.CausesValidation = true; 
     rBtn.SelectedIndexChanged += new EventHandler(rBtn_SelectedIndexChanged); 
    } 

    void rBtn_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     moreThanOneLbl.Text = "Woohoo!"; 
    } 

下面是我给你的列表项的单选按钮列表(从数据表):

foreach (DataRow row in table.Rows) 
      { 
       ListItem li = new ListItem(); 
       li.Value = row[0].ToString(); 
       li.Text = row[1].ToString() + ": " + row[2].ToString(); 
       //rBtn.Items.Add(li); 
       RadioButtonList1.Items.Add(li); 

      } 
+0

您是否在标记视图的控件上命名了事件,例如: 'OnSelectedChanged =“the_event”'在控制所有又回到了我 - 回首我发布的代码 – dtsg

回答

11

尝试设置AutoPostBack属性为true。

rBtn.AutoPostBack = true 
+0

谢谢,这是一个有点混乱,因为它是引用两个不同的单选按钮列表(在标记视图和其他定义的一个在代码隐藏中定义)。两人都做了完全一样的事情,他们都没有工作。然而,在标记视图中将Blachsma的建议添加到单选按钮列表中仍然有效!欢呼! – donpisci

相关问题