asp.net-mvc-4 – 无法获取MVC 4 FileExtensions属性来处理ViewModel属性

前端之家收集整理的这篇文章主要介绍了asp.net-mvc-4 – 无法获取MVC 4 FileExtensions属性来处理ViewModel属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要上传一个csv文件,我想将它的扩展名限制为.csv

所以我将follow属性添加到我的viewmodel:

[FileExtensions(ErrorMessage = "Must choose .csv file.",Extensions = "csv,txt")]
public HttpPostedFileBase File { get; set; }

在我看来,我有以下几点:

@Html.TextBoxFor(m => m.File,new { type = "file"})
@Html.ValidationMessageFor(m => m.File)

但是,一旦它命中我的“ModelState.IsValid”检查它返回无效,我的错误消息是“必须选择.csv文件”.

我假设我只是缺少一个参数,但我还没有找到任何使用它的样本.

解决方法

问题是FileExtensionsAttribute仅适用于字符串变量.检查HttpPostedFileBase变量的文件扩展名的最简单方法是使用 this simple attribute.它解决了我的问题.

唯一的缺点是这个新属性只在服务器端验证,所以不要忘记检查模型状态:

if (ModelState.IsValid)
{
  // Do the work
}
原文链接:https://www.f2er.com/aspnet/250992.html

猜你在找的asp.Net相关文章