잊지 않겠습니다.

Model 객체의 경우에는 데이터의 Display class로만 주로 사용하고 있었는데. 재미있는 특징들이 이제서야 많이 보이는 것 같다.

특히 IDataError interface의 상속으로 View에서의 데이터 에러를 검증하고, 그 에러를 View에서 표시하는데 사용할 수 있는 여력이 많이 보인다.
여러가지로 재미있다고 해야지 될까나.



public class GuestResponse : IDataErrorInfo
{
    public string Name { get; set; }
    public string Email { get; set; }
    public string Phone { get; set; }
    public bool? WillAttend { get; set; }
    public string Error { get { return null; } } // Not required for this example
    public string this[string propName]
   {
       get {
               if((propName == "Name") && string.IsNullOrEmpty(Name))
                    return "Please enter your name";
               if ((propName == "Email") && !Regex.IsMatch(Email, ".+\\@.+\\..+"))
                    return "Please enter a valid email address";
               if ((propName == "Phone") && string.IsNullOrEmpty(Phone))
                    return "Please enter your phone number";
               if ((propName == "WillAttend") && !WillAttend.HasValue)
                    return "Please specify whether you'll attend";
               return null;
             }
    }
}

참 여러가지로 사용되는 Interface가 많은 것 같다. 무언가 class를 생성할 때, 언제나 먼저 생각해줄 것이.
일단 Framework에서 지원되는 class가 있는지. 내가 사용할 action이 정의되어있는 interface는 존재하는지에 대한
생각은 항시 필요한 것 같다.

공부할 내용이 너무나 많아. --;

그리고, asp.net에서 SmtpClient를 사용할 때, 개발 환경이나 개인 환경에서 SMTP 서버를 사용할 수 없을 때, File에 지정할 수 있는 방법이 있다
web.config에 다음과 같은 설정을 넣어주면 된다.



	
		
			
				
			
		
	
Posted by Y2K
,