嘗試在Asp.NET webApplication中使用convert strting into enum
。Response.Redirect內部Try/Catch塊
代碼 -
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;
}
}
取出(MyEnum) - 你已經告訴它作爲 – Darren
當你遇到錯誤解析什麼類型?我懷疑你沒有從運行的代碼中得到這個錯誤;這是您在嘗試檢查某些內容時通常在調試器中看到的錯誤。 –
代碼是正確的。我執行成功 – Frank59