1

「Internet Explorer は Web ページを表示できません」というエラーにつながるコード ブロックがあります。送信ボタンをクリックすると、ラジオ ボタンのいずれもチェックされず、Web ページのステータス バーに「ホストからの応答を待機しています」と表示され、「Internet Explorer は Web ページを表示できません」と表示されます。Visual Studio でコードを確認すると、コードは正常に実行され、catch ブロックは実行されません。

ここに画像の説明を入力

エラーをトラップして、エラー ページが表示されている理由を特定するにはどうすればよいですか?

    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        try
        {
            if (rbtnSearchBy1.Checked)
            {
                Server.Transfer("ViewEmpHistory.aspx");
            }
            if (rbtnSearchBy2.Checked)
            {
                Server.Transfer("SearchEmp.aspx");
            }
            if (rbtnSearchBy3.Checked)
            {
                Server.Transfer("ViewEmpCard.aspx");
            }
        }

        catch (ThreadAbortException)
        {
            throw;
        }
        catch (Exception ex)
        {
            Response.Write(ex.ToString());
        }
    }
4

4 に答える 4

1

「btnSubmit_Click」がオンになっている .cs ページが何であれ、そのpage_load イベントにブレークポイントを設定します。
また、"ViewEmpHistory.aspx"、"SearchEmp.aspx"、"ViewEmpCard.aspx" の page_load イベントにブレークポイントを設定します。(これで、4 つのブレークポイントができました)。

プロジェクトをもう一度実行して、すべてのパラメーター値が正しく渡されていることを確認し、If (!PostbacK)条件など に正しいロジック (該当する場合) があることを確認します。

HTH

于 2012-07-05T01:51:59.243 に答える
1

アプリケーションが例外をスローしないため、ラジオボタンを 1 つも選択しない場合は、 catch に入力しないのが普通です。ただし、イベントログを表示できます

cmd : eventvwr に入力して、イベント ログにアクセスします。

ここに画像の説明を入力

于 2012-07-03T15:06:27.110 に答える
1

この種の問題をデバッグするには、多くの場合、トレースを使用する方が簡単です。

アプリケーション レベルまたはページ レベルでトレースをオンにできます。

メソッド呼び出しは次のようになります。

protected void btnSubmit_Click(object sender, EventArgs e)
{
    try
    {
        if (rbtnSearchBy1.Checked)
        {
            Server.Transfer("ViewEmpHistory.aspx");
        }
        if (rbtnSearchBy2.Checked)
        {
            Server.Transfer("SearchEmp.aspx");
        }
        if (rbtnSearchBy3.Checked)
        {
            Server.Transfer("ViewEmpCard.aspx");
        }
    }
    catch(Exception ex)
    {
        Trace.Warn("Exception Caught", "Exception: btnSubmit_Click", ex);
    }
}

Trace Viewerに移動すると、トレース ログを確認できます。

于 2012-07-03T15:34:27.653 に答える