在尝试convert strting into enum
在 Asp.NET webApplication 中。
代码 -
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;
}
}