0
public class EmailAttachment
{
public string FileName { get; set; }
public string FileType { get; set; }
public int FileSize { get; set; }
public Stream FileData { get; set; }
}
public class ContactEmail: IDataErrorInfo
{
public string Name { get; set; }
public string Email { get; set; }
public string Message { get; set; }
public EmailAttachment Attachment { get; set; }
public string Error { get { return null; } }
public string this[string propName]
{
get
{
if (propName == "Name" && String.IsNullOrEmpty(Name))
return "Please Enter your Name";
if (propName == "Email"){
if(String.IsNullOrEmpty(Email))
return "Please Provide an Email Address";
else if(!Regex.IsMatch(Email, ".+\\@.+\\..+"))
return "Please Enter a valid email Address";
}
if (propName == "Message" && String.IsNullOrEmpty(Message))
return "Please Enter your Message";
return null;
}
}
}
而且我的控制文件
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Con(ContactEmail ce, HttpPostedFileBase file)
{
return View();
}
现在的问题
从我得到名称,电子邮件,信息和上传文件的形式。我可以使用公共字符串this [string propName]自动为Name,Email,Message自动验证错误。如果Attachment.FileSize> 10000,我如何显示验证错误?如果我编写它的代码
公共字符串这个[string propName]
我alwasy得到附件空。我如何填写ContactEmail的附件对象,以便我可以管理同一地点的所有错误?
我也可以添加,与asp.net MVC元数据和dataAnnotation似乎很多neater [必需(ErrorMessage =“设计编号是必需的。”),显示名称(“设计编号:“)] public Int32 designNum {get;组; } – davethecoder 2010-04-25 13:14:30