任何人都知道如何解决此错误?
指定的演员表无效。
描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中的起源位置的更多信息。
异常详细信息:System.InvalidCastException:指定的强制转换无效。
以下是破解的代码行 -
var id = (int)httpContext.Request.RequestContext.RouteData.Values["id"];
答案 0 :(得分: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
}
答案 1 :(得分:1)
您的值httpContext.Request.RequestContext.RouteData.Values["id"]
可能没有等效的int。
如果它是一个字符串,就像消费者所说,你会尝试,
var id = int.Parse("httpContext.Request.RequestContext.RouteData.Values["id"]);
intellisence可能会告诉你什么类型:
httpContext.Request.RequestContext.RouteData.Values["id"]
。您还可以在调试器的“监视”选项卡中找到
答案 2 :(得分:0)
首先致电ToString()
然后parse
to int
int.Parse(Url.RequestContext.RouteData.Values["id"].ToString())