首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义IModelBinder中的NullReferenceException

自定义IModelBinder中的NullReferenceException
EN

Stack Overflow用户
提问于 2012-08-03 00:55:52
回答 1查看 208关注 0票数 1

我试图使用.NET 4.5中的MVC4实现我自己的自定义ModelBinder,但得到了最奇怪的错误。我的代码看起来差不多。像这样

TableViewModelModel : IModelBinder

代码语言:javascript
复制
public object BindModel(ControllerContext ctx, BindingContext btx)
{
    IEnumerable<String> sSearch = ctx.HttpContext.Request.Params.Keys.OfType<String().Where(key => key.StartsWith("sSearch_"));
    ...
}

NullReferenceException在第一行抛出,但没有一个属性实际为空(它们都出现在智能感知调试中)。在一个绝望的时刻,我决定去掉一些属性,以便更好地了解异常抛出的位置,我发现罪魁祸首是Params属性。真正奇怪的是,查询字符串中的所有键都列在调试窗口中,但还是抛出了一个异常。在这件事上我真的需要一些帮助!

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-03 17:14:43

使用Reflector和分析堆栈跟踪找到了错误。原来,在调用堆栈的某处,HttpRequest.Params试图读取我的主体对象(HttpContext.User)的Identity属性。我有一个定制的IPrincipal实现,它不会初始化Identity对象--现在就有了。

非常感谢那些花时间阅读我的问题的人。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11782250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档