如何处理一个空的视图包,它是一个列表,它有时可能是空的 - 一个空的?
我收到错误:"无法对空引用执行运行时绑定"。
我有一个 MVC 应用程序并将一个 viewbag(这是一个列表)作为参数传递。
有时它可以是空的。
@Html.PagedListPager(Model, page => Url.Action("Index", new { page, movieGenre = (SelectList)ViewBag.movieGenre, searchString = ViewBag.searchString.toString() }))
为 null,则可以从 ViewBag 中给出默认值。
(Viewbag.something ?? 'This is the value if Viewbag.something is null')
首先尝试从 viewbag 中提取值,如果该值不存在,则将其初始化为空SelectList
。
请在PagedListPager
呼叫之前的任何位置使用此代码:
@{
SelectList movieGenre = (ViewBag.movieGenre == null) ? new SelectList(new List<string>()) : ViewBag.movieGenre;
}
然后在渲染调用中使用该实例:
@Html.PagedListPager(Model, page => Url.Action("Index", new { page, movieGenre, searchString = ViewBag.searchString.toString() }))
请注意,您的searchString
酒店可能存在同样的问题。