如何使用内置的C#方法忽略视图中的null

本文关键字:视图 null 方法 何使用 内置 | 更新日期: 2023-09-27 18:22:18

当前我的代码如下:

@Html.DropDownListFor( m => m.regionIdentification, new SelectList(Model.UI.region, 
    "Value", "Text", Model.region), new {@class = "form-control input-sm"})

我正在寻找一个简单的方法,就是在填充DropDown时忽略列表中的null。

例如:

.notNull()

我正在努力避免使用linq或更新存储过程。任何建议都会有帮助,谢谢!

如何使用内置的C#方法忽略视图中的null

我认为您有几个选项:

  1. 扩展SelectList类以添加筛选出构造函数中无效值的功能,然后使用自定义类而不是SelectList
  2. 使用Razor内联函数过滤空值,因为您不喜欢LINQ。有关内联函数语法示例,请参阅此链接:http://weblogs.asp.net/hajan/functions-inside-page-using-razor-view-engine-asp-net-mvc
  3. 填充区域列表时,请在Controller或Model类中进行更多验证,以防止在集合中添加无效值
  4. 创建您自己的不允许Null值的集合,或者扩展一个现有集合,以确保您的集合只包含有效值。请阅读以下内容以获取想法:.NET中是否有防止空条目的集合
  5. 使用类似Razor的LINQ扩展方法。其中(r=>r!=null)

我仍然建议使用LINQ(在我的列表中排名第5),因为它是最简单、最安全的方法。