【问题标题】:Invalid Cast Exception radbutton telerik (oncheckedchanged)无效的投射异常 radbutton telerik (oncheckedchanged)
【发布时间】:2012-11-30 11:00:28
【问题描述】:

我正在使用 Telerik Radbutton 来充当复选框。 但是,当我点击复选框时,我会收到 A first chance exception of type 'System.InvalidCastException' occurred in Webapplicatie.dll

asp.net代码见下方代码:

   <telerik:RadButton ID="RadButton1" runat="server" Text="Hele dag" ToggleType="CheckBox" ButtonType="ToggleButton"  OnCheckedChanged="RadButton1_CheckedChanged">
                        </telerik:RadButton>

和:

protected void RadButton1_CheckedChanged(object sender, EventArgs e)
        {
            try
            {
                if (RadButton1.Checked)
                {
                    lbStarttijd.Visible = false;
                    lbEindtijd.Visible = false;

                    rtp_Eindtijd.Visible = false;
                    rtp_Starttijd.Visible = false;
                    //rtp_Eindtijd.Enabled = false;
                    //rtp_Starttijd.Enabled = false;
                }
                else
                {
                    lbStarttijd.Visible = true;
                    lbEindtijd.Visible = true;
                    //lbEindtijd.Enabled = true;
                    //lbStarttijd.Enabled = true;
                    rtp_Eindtijd.Visible = true;
                    rtp_Starttijd.Visible = true;
                    //rtp_Eindtijd.Enabled = true;
                    //rtp_Starttijd.Enabled = true;
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message + "\n" + ex.StackTrace);
            }
        }

然而,最奇怪的是,它并没有出现在我的 Catch 中。 我不明白为什么这会导致无效的强制转换异常。帮助表示赞赏:)

旁注:只有当我通过垃圾邮件点击复选框来“抨击”复选框时才会发生这种情况。

【问题讨论】:

  • 这不是 100%,所以我暂时不会回答,但我假设您的复选框(单选按钮)正在导致回发,而您的错误在代码中的其他位置,而不是在您发布的代码中。如果可能,张贴任何在页面加载时触发的代码。
  • @KreepN 添加 AutoPostBack="false" 不能解决问题。无论如何谢谢:)
  • "如果您想查明异常发生的位置,您可以选择 Debug->Exceptions 菜单项,并在出现的对话框中选中“Common Language Runtime Exceptions”的第一个复选框。这将使调试器在发生异常时立即中断,而不是仅在未处理的异常上中断。” - 根据另一个线程。试一试,看看你是否能得到例外。
  • @KreepN 如果您可以将该回复作为答案发布,我将非常乐意将其标记为解决问题的答案。谢谢。
  • 完成了,很高兴我能帮上忙 :)。

标签: c# asp.net exception telerik


【解决方案1】:

第一步是找出异常的根本原因:

"如果要查明异常发生的位置,可以选择Debug->Exceptions菜单项,在出现的对话框中,勾选第一个复选框“Common Language Runtime Exceptions”。

这将使调试器在发生异常时立即中断,而不是仅在未处理的异常上中断。” - 根据另一个线程。

试一试,看看你能不能得到异常。

【讨论】:

    猜你喜欢
    • 2013-07-08
    • 2014-02-01
    • 2018-04-16
    • 2012-03-11
    • 1970-01-01
    • 2013-08-03
    • 1970-01-01
    • 2017-02-18
    • 1970-01-01
    相关资源
    最近更新 更多