Asp.net mvc ASP.NET MVC部分视图帮助
我在asp.net mvc解决方案中创建了一个局部视图,该视图将显示数据库中的项目列表。但是,我收到一个错误消息:Asp.net mvc ASP.NET MVC部分视图帮助,asp.net-mvc,Asp.net Mvc,我在asp.net mvc解决方案中创建了一个局部视图,该视图将显示数据库中的项目列表。但是,我收到一个错误消息:对象引用未设置为对象的实例。 我不知道为什么会这样,因为就我而言,一切都很好。项目列表是通过VenuesController控制的场地,但局部视图位于/shared/文件夹中,而不是视图的/viouses/文件夹中。asp.net是否会抱怨,因为它没有将两者链接在一起 这是我在VenuesController中的代码: // // GET: /Venues/ public Acti
对象引用未设置为对象的实例。
我不知道为什么会这样,因为就我而言,一切都很好。项目列表是通过VenuesController控制的场地,但局部视图位于/shared/文件夹中,而不是视图的/viouses/文件夹中。asp.net是否会抱怨,因为它没有将两者链接在一起
这是我在VenuesController中的代码:
//
// GET: /Venues/
public ActionResult Index()
{
return View(_repository.ListAll());
}
public ActionResult VenuesList()
{
return PartialView("VenuesList",_repository.ListAll());
}
Index()工作正常,并在/Views/victions/Index.aspx中显示数据,但VenuesList()抛出错误:/
谢谢。您提到的错误消息:
Object reference not set to an instance of an object.
通常在引用集合的属性且该属性为空时处理。您可能希望确保项目列表为:
- 不是空的
- 正确实例化
- 在场馆的建造商中(应从您的存储库中传递列表), 场馆内的列表属性在添加 中的项目 或
- 存储库未返回任何值
显示场地类及其构造函数的附加代码可能会有所帮助。请确保模型中在局部视图中引用的任何属性都不为空。我遇到过类似的情况,传递到部分视图的模型有一些空字段,在渲染时抛出NullReferenceExceptions 比如说
<%: Model.Property %>
或者,特别是:
<%: Model.Property.ChildProperty %>
i、 e.如果“Property”为null,则尝试访问“ChildProperty”将引发NulLReference异常。如果局部视图位于/Views/Shared/文件夹内,则会使用哪个控制器?是否将模型传递给局部视图?无论填充视图的模型是什么,以及构建视图的操作都会很有帮助。是的,我正在将模型传递给视图,如标题中所示:
,但我不确定我将使用哪个控制器,因为视图位于共享文件夹中,而不是场馆文件夹中,所以我的操作应该位于哪个控制器中?也许吧张贴场地类和它的构造器以提供帮助。通常,您的一个控制器中会有一个操作,该操作将填充您的局部视图-它可能类似于:public ActionResult[NameOfYourView]([arguments]),它将返回类似于:return PartialView([model]);但是哪个控制器呢?由于VenuesController控制此处的视图:/views/victions/right?并且不会与/views/Shared/文件夹内的视图对话,或者会吗?如果找不到该视图,则不会出现对象引用异常。您是否在控制器操作中设置了断点,以查看是否存在任何问题。当找不到视图时,您将得到类似以下错误-未找到视图“索引”或其主视图。已搜索以下位置:~/Views/Search/Index.aspx~/Views/Search/Index.ascx~/Views/Shared/Index.aspx~/Views/Shared/Index.ascx说明:执行当前web请求期间发生未处理的异常。