簡體   English   中英

MVC3 / C# - 無效的強制轉換異常 - 指定的強制轉換無效

[英]MVC3 / C# - Invalid Cast Exception - Specified cast is not valid

有誰知道如何解決這個錯誤?

指定演員表無效。

描述:執行當前Web請求期間發生未處理的異常。 請查看堆棧跟蹤以獲取有關錯誤及其源自代碼的位置的更多信息。

異常詳細信息:System.InvalidCastException:指定的強制轉換無效。

這是它破壞的代碼行 -

var id = (int)httpContext.Request.RequestContext.RouteData.Values["id"];

httpContext.Request.RequestContext.RouteData.Values["id"]可能是一個字符串,因此你需要解析它:

var idStr=(string)(httpContext.Request.RequestContext.RouteData.Values["id"]);
int id;
if(int.TryParse(idStr, out id))
{
    //w00t
}

您的值httpContext.Request.RequestContext.RouteData.Values["id"]可能沒有等效的int。

如果它是一個字符串,就像消費者說的那樣,你會試試,

var id = int.Parse("httpContext.Request.RequestContext.RouteData.Values["id"]);

intellisence可能會告訴你什么類型:

httpContext.Request.RequestContext.RouteData.Values["id"]

就像你輸入它一樣。 您還可以在調試器的“監視”選項卡中找到

首先調用ToString()

然后將其parse to int

int.Parse(Url.RequestContext.RouteData.Values["id"].ToString())

暫無
暫無

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

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