cod*_*biz 0 c# asp.net-mvc asp.net-mvc-3
错误
参数字典包含非可空类型'System.Int64'的参数'UserId'的空条目,用于'sportingbiz.Controllers.PredictionController'中的方法'System.Web.Mvc.ActionResult Predict(Int64)'.可选参数必须是引用类型,可空类型,或者声明为可选参数.参数名称:参数
这不起作用.抛出上面提到的错误
http://mysite/User/Profile/15
Run Code Online (Sandbox Code Playgroud)
这有效
http://mysite/User/Profile/?UserID=15
Run Code Online (Sandbox Code Playgroud)
控制器行动
public ActionResult Profile(long UserID)
{
}
Run Code Online (Sandbox Code Playgroud)
当我更改参数名称时,Id
它工作.我认为这是因为Id
在路径集合(Global.asax)中指定了.是否有可能告诉MVC UserId
应该映射到Id
而不改变它Global.asax
实现这一目标的唯一方法(没有进入定制的ModelBinder,它真的很毛茸茸)是:
public ActionResult Profile(long? UserID)
{
UserID = UserID ?? long.Parse((string)RouteData.Values["id"]);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
724 次 |
最近记录: |