繁体   English   中英

C#单选按钮oncheckchanged不触发

[英]C# Radiobutton oncheckchanged not firing

我有一个在中继器内部动态生成的单选按钮控件。 在此OnCheckChanged按钮上,我正在调用OnCheckChanged来更改后面检查OnCheckChanged按钮的代码中的某些值。

<EclipseUI:CustomRadioButton ID="RadioButton_Selected" runat="server" GroupName='<%# "s_id_" + Eval("FeaturePackId") %>' 
 OnCheckedChanged="RadioButton_Selected_OnCheckedChanged"/>

我的Radiobutton在上面,并调用显示的方法。

如果有什么不同,在div点击时,jQuery代码会选中和取消选中单选按钮。

protected void RadioButton_Selected_OnCheckedChanged(object sender, EventArgs e)
{
    CustomRadioButton rb = (CustomRadioButton) sender;
    System.Diagnostics.Debug.WriteLine(rb.GroupName);
    int FeatureID = Int32.Parse(rb.GroupName.Remove(0, 4));

    if (rb.Checked)
    {
        FeatureList.Add(FeatureID);
    }
    if (!rb.Checked)
    {
        foreach (var itemToRemove in FeatureList)
        {
            FeatureList.Remove(itemToRemove);
            System.Diagnostics.Debug.WriteLine(itemToRemove);
        }
    }
}

public List<int> FeatureList = new List<int>();

这段代码基本上将单选按钮上的值减到整数列表。 但是,根本没有调用此方法。 我尝试放置调试writeline语句,但是这些语句不会将任何内容输出到输出窗口。

有谁知道为什么这种方法不触发?

首先尝试一下,因为它很容易。

类似的问题在这里: OnCheckedChanged事件未触发

与您发布的答案有两个区别:Enabled =“ true” AutoPostBack =“ true”

但是,因为您已经尝试过此操作,所以我真的认为这很有可能是因为您在页面预渲染时在页面生命周期中的错误位置(时间过早)创建了元素,因此您可能希望在pageload中创建方法绑定在非回发中。

简而言之,您拥有方法和按钮,但它们并不相互绑定。

我不确定该代码是否可以“按原样”运行,但可能会给您一些想法。

    if (!Page.IsPostBack)
      {
         CustomRadioButton rb = (CustomRadioButton)e.Item.FindControl("CustomRadioButtonID");
         rb.OnCheckedChanged += new EventHandler(RadioButton_Selected_OnCheckedChanged);
      }

我认为您应该在CustomRadioButton控件上将PostBack属性设置为TRUE。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM