如果视图包为空,如何将作为列表的视图包转换为选择列表 - null



如何处理一个空的视图包,它是一个列表,它有时可能是空的 - 一个空的?

我收到错误:"无法对空引用执行运行时绑定"。

我有一个 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酒店可能存在同样的问题。

相关内容

  • 没有找到相关文章

最新更新