MVC3/C# - 无效的强制转换异常 - 指定的强制转换无效

J0N*_*ER0 3 .net c# asp.net-mvc-3

有谁知道如何解决这个错误?

指定演员表无效.

描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.

异常详细信息:System.InvalidCastException:指定的强制转换无效.

这是它破坏的代码行 -

var id = (int)httpContext.Request.RequestContext.RouteData.Values["id"];
Run Code Online (Sandbox Code Playgroud)

spe*_*der 5

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

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