gpt4 book ai didi

c# - 引发空引用异常的 ASP.NET MVC 帮助程序方法

转载 作者:行者123 更新时间:2023-12-03 16:49:28 26 4
gpt4 key购买 nike

我已经使用 .NET Framework ASP.NET MVC 在一个项目上工作了大约 9 个月。我有许多表格的 View ,每个表格都有自己的模型。我使用一个 ViewModel,其中包含我用于表单的所有单个模型。我使用 Html Helpers 在如下所示的表单中创建输入框,例如 TextBoxFor 和 TextAreaFor。

@Html.TextAreaFor(d => d.Foo.Property, new { @class = "form-control" })

自几个月前启动该项目以来,这一直有效,并继续在生产中工作,但是截至昨天尝试在本地运行时,它已停止工作。加载页面时,我的每个帮助器输入都会引发空引用异常。我曾尝试使用该项目的早期版本,但它引发了相同的异常。我一直无法在网上找到有同样问题的人,我不知道如何解决这个问题。在这一点上,我唯一的想法是重新安装我不想这样做的 Visual Studio。

编辑:
为了准确说明我的问题是什么,我在下面包含了我正在使用的流程。这些来自我创建的一个虚拟项目,所以我的问题并不特定于任何项目。

我在这里有一门课,我想输入值作为表单的一部分。
public class Foo
{
public int TestProp1 { get; set; }
public string TestProp2 { get; set; }
}

我在一个页面上有很多表单,所以我必须使用 ViewModel 来包含多个模型中的每一个。
public class IndexViewModel
{
public Foo Foo { get; set; }
public Bar Bar { get; set; }
}

我使用 Html 助手创建输入以在表单提交时绑定(bind)到模型。
@model TestMvc2.Models.IndexViewModel

@{
ViewBag.Title = "Home Page";
}

<div class="row">
@using (Html.BeginForm("PostForm", "Home", FormMethod.Post))
{
<div class="form-group">
@Html.Label("Foo Test Prop 1")
@Html.TextBoxFor(c => c.Foo.TestProp1)
</div>
<div class="form-group">
@Html.Label("Foo Test Prop 2")
@Html.TextBoxFor(c => c.Foo.TestProp2)
</div>
}
</div>

加载页面时,我在 TextBoxFor 扩展上突出显示以下异常:

抛出异常:Microsoft.CSharp.dll 中的“Microsoft.CSharp.RuntimeBinder.RuntimeBinderException”

抛出异常:Microsoft.CSharp.dll 中的“Microsoft.CSharp.RuntimeBinder.RuntimeBinderException”

抛出异常:System.Web.Mvc.dll 中的“System.NullReferenceException”
你调用的对象是空的。

我很困惑为什么会出现这种情况,因为这是我自项目开始以来一直使用的流程,并且它在生产中继续正常工作。只有在尝试本地调试时才会出现问题

最佳答案

我有同样的问题,我准备了 Visual Studio 安装,问题消失了。

关于c# - 引发空引用异常的 ASP.NET MVC 帮助程序方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60876172/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com