簡體   English   中英

Response.Redirect內部Try / Catch塊

[英]Response.Redirect Inside Try/Catch Block

嘗試在Asp.NET webApplication中將strstr convert strting into enum時。

代碼-

enum MyEnum
{
    field1,
    field2,
    field3
}

string strField1 = "field1";
MyEnum parsedEnum = (MyEnum)Enum.Parse(typeof(MyEnum), strField1);

我遇到以下錯誤-

由於代碼已優化或本機框架位於調用堆棧的頂部,因此無法評估表達式。

我想念什么。

編輯:更新代碼:

我一直在通過驗證按鈕的CommandArgument使用此枚舉將用戶重定向到其他頁面。 我在調試解決方案時遇到此錯誤,否則代碼可以正常工作。

<form id="form1" runat="server">
    <div>
        <asp:Button Text="Redirect" ID="btnRedirect" OnClick="btnRedirect_Click" CommandName="field1" runat="server" />
    </div>
    </form>



    protected void btnRedirect_Click(object sender, EventArgs e)
    {            
        var btn = sender as Button;
        var cmdName = btn.CommandName; //field1
        MyEnum parsedEnum = (MyEnum)Enum.Parse(typeof(MyEnum), cmdName);

        try
        {
            switch (parsedEnum)
            {
                case MyEnum.field1:
                    Response.Redirect("WebForm1.aspx");
                    break;
                case MyEnum.field2:
                    Response.Redirect("WebForm2.aspx");
                    break;
                case MyEnum.field3:
                    Response.Redirect("WebForm3.aspx");
                    break;
                default:
                    break;
            }
        }
        catch (Exception ex)
        {
            var err = ex.Message;                
        }
    }

所有對該錯誤消息的引用均指向Request.Redirect添加第二個false參數。 enum代碼是否重定向用戶?

問題在於嘗試重定向到其他頁面,位於try catch塊內。

由於代碼已優化或本機框架位於調用堆棧的頂部,因此無法評估表達式。

造成以上異常的原因是,在catch塊內, current page thread was being aborted.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM