asp.net – “值不能为null或为空.当ModelState出错时,返回时最
我已经连续两个小时跟这个怪物讨价还价了.
我收到此错误:
在我看来这一行: @Html.ValidationMessageFor(model => model.IssueName,"",new { @class = "text-danger" }) 下面给出的堆栈跟踪似乎表明已经调用Url.Content,但我没有进行此类调用.下面是堆栈跟踪,然后是该行周围的一些代码行导致错误:
抛出异常的行周围的代码行是: <div class="form-group"> @Html.LabelFor(model => model.IssueName,htmlAttributes: new { @class = "control-label col-md-2"}) <div class="col-md-10"> @Html.EditorFor(model => model.IssueName,new { htmlAttributes = new { @class = "form-control",id = "IssueName" } }) @Html.ValidationMessageFor(model => model.IssueName,new { @class = "text-danger" }) </div> </div> 重要 奇怪的是,只有当我从post-back返回时才会引发异常,从来没有在我第一次加载视图时,甚至在ModelState没有错误时也是如此.只有当ModelState在回发后出现错误时才会引发它. 这是一些服务器端代码,但我没有看到任何可能出错的原因: [HttpPost] public async Task<ActionResult> EditIssue(EditIssueViewModel viewModel) { viewModel.AvailableTags = BusinessManager.GetAllTags(); if (viewModel.IssuePDFFile == null || viewModel.IssuePDFFile.ContentLength == 0) { ModelState.AddModelError("","Please select a file to upload."); return View(viewModel); } var fileInfo = new FileInfo(viewModel.IssuePDFFile.FileName); if (!StaticData.AcceptedContentTypes.Contains(viewModel.IssuePDFFile.ContentType,StringComparer.InvariantCultureIgnoreCase) || !fileInfo.Extension.Equals(".pdf",StringComparison.InvariantCultureIgnoreCase)) { ModelState.AddModelError("","You can only select a PDF file."); return View(viewModel); } if (!ModelState.IsValid) { var errors = ModelState.Values.SelectMany(v => v.Errors) .Select(e => new { e.ErrorMessage,e.Exception }); var errorList = errors.ToList(); errorList.ForEach(e => Debug.Print(e.ErrorMessage)); errorList.ForEach(e => ModelState.AddModelError("",e.ErrorMessage)); return View(viewModel); } var operationResult = await BusinessManager.EditIssueAsync(viewModel); if (!operationResult.Succeeded) { ModelState.AddModelError("",operationResult.FailureMessage); return View(viewModel); } viewModel = (EditIssueViewModel)BusinessManager.GetIssueWithRelationships(viewModel.IssueId); viewModel.SuccessMessage = operationResult.SuccessMessage; return View(viewModel); } 解决方法
哇靠!
如果您曾经有过这样的错误,请记住,只有一个,而且只有一个导致此错误.
它报告异常的行可能与异常无关,可能距离罪魁祸首一两英里. 搜索,搜索,搜索疯狂. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在ASP.NET或ASP.NET MVC中生成管理界面
- asp.net-mvc – 在Azure上预热经过身份验证的应用服务
- IIS“SendResponse”状态下的请求已停留很长时间;慢IIS 7.5
- asp.net-mvc-3 – 可以重定向到新页面的Ajax.BeginForm
- asp.net-mvc – 使用AJAX绑定时,在创建/更新后IEnumerable属
- [WCF REST] 提高性能的一个有效的手段:条件资源获取(Cond
- asp.net – 将服务器端事件添加到扩展程序控件
- asp.net – IsAuthenticated适用于浏览器 – 但不适用于Air
- 一个关于解决序列化问题的编程技巧
- asp.net-mvc-3 – 如何在Asp.Net Mvc 3中显示自定义错误页面
- asp.net-mvc – HTTP错误500.19 – 内部服务器错
- 在Asp.Net中使用JQuery绑定DropDownlists
- asp.net-mvc – 如何在我的项目中实现强大的每个
- asp.net – Html.BeginForm()类型的扩展名
- asp.net – 外键在VS2012 RC中未被识别
- ASP.NET MVC Web应用程序与ASP.NET Web应用程序
- asp.net-mvc – 如何在Html.TextBox帮助器中设置
- asp.net-mvc – ASP.NET MVC中的UserManager.Fin
- asp.net – 什么是Container.DataItem?
- 使用ASP.NET Web API 2.1配置依赖注入