【发布时间】: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