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