gpt4 book ai didi

c# - 模型中的 MVC5 Razor NullReferenceException

转载 作者:IT王子 更新时间:2023-10-29 04:26:34 24 4
gpt4 key购买 nike

出于某种原因,每当我尝试访问我的模型时都会收到 NullReferenceException。

这是来 self 的 Controller 的代码:

public async Task<ActionResult> Bar(string fooSlug, int barId)
{
var foo = await mediaService.GetFoo(fooSlug);
var bar = await barService.GetBarFromFooByTitleId(foo.TitleId, barId);
var viewModel = new ViewModels.BarViewModel(foo, bar);
return View(viewModel);
}

来自 ViewModel 的代码:

public class BarViewModel
{
public Models.Sub.FooDetails Foo{ get; set; }
public Models.Sub.BarDetails Bar { get; set; }

public BarViewModel(Models.Sub.FooDetails foo, Models.Sub.BarDetails bar)
{
this.Foo = foo;
this.Bar = bar;
}
}

还有我的观点:

@model FooBar.ViewModels.BarViewModel

@{
ViewBag.Title = "Bar";
}

<h2>@Model.Bar.Name</h2>

当我尝试在 h2 标签内使用它时,它一直返回 NullReferenceException。我已经对其进行了调试并且 .Name 属性具有正确的值,但是当我按继续时它只会抛出错误。

有人能解决这个问题吗?

最佳答案

有时编译器无法在 razor View 中指向具有特定类型错误的确切行,这可能是因为它无法将它们的行号保留在堆栈跟踪或某处。我发现这种情况与 Null Reference Exception 和在 Url.Content 中传递 null 时。

因此,当您在堆栈跟踪显示的行上没有发现任何错误时,它有助于在 razor View 中检查下一个 C# 语句。

关于c# - 模型中的 MVC5 Razor NullReferenceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22412391/

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