1

チェックボックスのように機能するためにtelerikRadbuttonを使用しています。ただし、チェックボックスをクリックすると、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);
            }
        }

しかし、最も奇妙なことは、それが私のキャッチに終わらないということです。これが無効なキャスト例外を引き起こしている理由がわかりません。感謝するのを手伝ってください:)

補足:これは、チェックボックスをスパムクリックして「bash」した場合にのみ発生します。

4

1 に答える 1

2

最初のステップは、例外の根本的な原因を見つけることです。

「例外が発生している場所を特定する場合は、[デバッグ]-> [例外]メニュー項目を選択し、表示されるダイアログで[共通言語ランタイム例外]の最初のチェックボックスをオンにします。

これにより、未処理の例外だけで中断するのではなく、例外が発生するとすぐにデバッガーが中断します。」-別のスレッドごと。

それを試して、例外を取得できるかどうかを確認してください。

于 2012-12-03T15:01:20.183 に答える