[英]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.