asp.net – 如何使用MVC属性验证列表是否具有大于零的非null元素
发布时间:2020-12-16 09:50:19 所属栏目:asp.Net 来源:网络整理
导读:我试图implmenet文件上传器,可以采取不同数量的文件.文件输入元素都被命名为相同,因此生成MVC3愉快地绑定到的文件列表. 所以在我的控制器中我有 public virtual ViewResult UploadReceive(IEnumerable HttpPostedFileBase Files){ 这将获得它应该的所有文件.
我试图implmenet文件上传器,可以采取不同数量的文件.文件输入元素都被命名为相同,因此生成MVC3愉快地绑定到的文件列表.
所以在我的控制器中我有 public virtual ViewResult UploadReceive(IEnumerable< HttpPostedFileBase> Files){ 这将获得它应该的所有文件.但是,所有空表单文件输入元素都添加了null.这将阻止我在控制器中的基本非空列表验证按我的意愿工作. 验证如下: public class EnsureMinimumElementsAttribute : ValidationAttribute { private readonly int _minElements; public EnsureMinimumElementsAttribute(int minElements) { _minElements = minElements; } public override bool IsValid(object value) { var list = value as IList; if (list != null) { return list.Count >= _minElements; } return false; } } 知道如何更改验证通常只计算非null元素吗? 解决方法
如果您只想计算非null对象,可以使用LINist和IList:
list.Cast<object>().Count(o => o != null) 或者,您可以循环并计算每个非null对象. int count = 0; foreach (var item in list) { if (item != null) count++; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
推荐文章
站长推荐
- asp.net – 没有Javascript的Google Analytics
- 无法显示ASP.Net UpdateProgress
- asp.net-mvc – ASP.NET MVC路由和静态数据(即图
- 在ASP.NET中拒绝用户时,’CustomIdentity’上的S
- asp.net-mvc – ASP.NET MVC – 接口类型上的自定
- asp.net-mvc – 调用SaveChanges()时从更新中排除
- 具有任意数量的键值对的ASP.NET路由 – 是否可能
- asp.net-mvc – 在MVC中结合JS / CSS的任何经验?
- asp.net-mvc – Asp.Net MVC控制器 – 动作和视图
- asp.net-mvc – ASP.net MVC数据注释DateTime默认
热点阅读