c# - Microsoft.CSharp.RuntimeBinder.RuntimeBinderException 当我尝试访问视图中的模型时
问题描述
我在一个典型的地方有问题。当我在 View 中访问 Model 或任何动态变量(通过 ViewBag)时,我得到 Microsoft.CSharp.RuntimeBinder.RuntimeBinderException。
示例视图(View/Assignments/Assignments.cshtml):
@using DocMaster.Models
@model List<IGrouping<string, User>>
...
<ul class="tree">
@foreach (var dep in Model)
{
<li class="close" name='open_close'>
<span class="org">@dep</span>
<ul>
@foreach (var user in dep)
{
<li class="li_user" name="resp_add" id="@user.Id">
<span class="user">@user.Surname @user.Name @user.Patronymic</span>
</li>
}
</ul>
</li>
}
</ul>
控制器(控制器/AssignmentController.cs):
public class AssignmentController : Controller
{
private PgDb db = new PgDb();
[HttpGet]
public ActionResult Assignments(Guid docId)
{
var departments = db.Users.OrderBy(x => x.Surname).GroupBy(x => x.Department.Name).ToList();
return View(departments);
}
}
堆栈跟踪
Строка 76: <div class="dn" id="user_book03">
Строка 77: <ul class="tree">
Строка 78: @foreach (var dep in Model)
Строка 79: {
Строка 80: <li class="close" name='open_close'>
Исходный файл: C:\Users\ruslan\source\repos\Documentics\DocMaster\Views\Assignment\Assignments.cshtml Строка: 78
Трассировка стека:
[RuntimeBinderException: Не удается выполнить привязки исполняющей среды по нулевой ссылке]
CallSite.Target(Closure , CallSite , Object ) +115
System.Dynamic.UpdateDelegates.UpdateAndExecute1(CallSite site, T0 arg0) +629
ASP._Page_Views_Assignment_Assignments_cshtml.Execute() in C:\Users\ruslan\source\repos\Documentics\DocMaster\Views\Assignment\Assignments.cshtml:78
System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +197
System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +105
System.Web.WebPages.StartPage.RunPage() +17
System.Web.WebPages.StartPage.ExecutePageHierarchy() +64
解决方案
你确定吗
var departments = db.Users.OrderBy(x => x.Surname).GroupBy(x => x.Department.Name).ToList();
正在返回一个值,因为错误坚持您在代码中的某处有一个空引用,我假设这是代码给出的地方。调试控制器方法并找出空引用在哪里。
推荐阅读
- javascript - 使用隐式流时的重放攻击
- python - 是否有 pandas 函数可以转置数据框以为现有列的每个唯一值创建单独的列?
- lua - 将 MAME 作弊转换为 Lua 脚本
- mysql - Sql没有保存正确的浮点值
- javascript - 如何运行 OpenAPI -> GraphQL 转换?
- sql-server - 删除 docker 容器而不丢失卷中的数据
- postgresql - 添加查询参数时,Postman 中的 POST 请求不起作用
- bash - bash :在线恢复信息
- blogger - 如何在博文中插入多个 AdSense 单元
- docker - 应该使用反向代理和 https+auth 保护内部 docker 服务吗?