在Asp.NET webApplication中尝试convert strting into enum
时。
代码 -
enum MyEnum
{
field1,
field2,
field3
}
string strField1 = "field1";
MyEnum parsedEnum = (MyEnum)Enum.Parse(typeof(MyEnum), strField1);
我遇到以下错误 -
无法评估表达式,因为代码已优化或a 本机框架位于调用堆栈的顶部。
我错过了什么。
编辑:更新代码:
我一直在使用此枚举通过验证按钮的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;
}
}
答案 0 :(得分:1)
对该错误消息的所有引用都指向向false
添加第二个Request.Redirect
参数。 enum
代码是否重定向用户?
答案 1 :(得分:0)
问题在尝试重定向到try catch
块内的其他页面时撒谎。
无法评估表达式,因为代码已优化或a 本机框架位于调用堆栈的顶部。
在catch块内部current page thread was being aborted.