MVC Model
MVC의 Model에는 비지니스 로직이나 데이타 엑세스를 위한 C# 클래스들을 놓게 된다. 외부 데이타 소스를 엑세스하기 위한 ADO.NET 클래스들이나 Entity Framework 클래스 등이 Model에 놓이게 되며, 비지니스 로직이나 유틸러티 클래스 등을 이곳에 두게 된다. 모델은 /Models 폴더에 일반적으로 .cs 파일로 저장되는데, /Models 안에 서브폴더를 만들어 클래스들을 그룹으로 묶을 수도 있다. 모델 파일을 생성하기 위해서는 /Models 폴더에서 우측하고 Add -> New Item 하여 새 .cs 파일을 추가하면 된다. 이렇게 생성된 모델 클래스는 Controller에 의해 사용된다.
아래 예제는 간단하게 로그인명과 암호를 체크하는 로직을 Model 클래스로 만든 것이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | // 파일: /Models/LoginManager public class LoginManager { public static bool CheckLogin( string username, string password) { var strConn = WebConfigurationManager.ConnectionStrings[ "DeafultConnection" ].ConnectionString; using (SqlConnection conn = new SqlConnection(strConn)) { conn.Open(); string sql = "SELECT NULL FROM Login WHERE Username=@user AND Password=@pwd" ; SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddWithValue( "@user" , username); cmd.Parameters.AddWithValue( "@pwd" , password); object res = cmd.ExecuteScalar(); return res != null ; } } } |
이러한 모델 클래스는 아래와 같이 Controller에서 호출되어 사용될 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | // 파일: /Controllers/LoginController public class LoginController : Controller { // GET: /Login/Check public ActionResult Check() { string user = Request[ "username" ]; string pwd = Request[ "password" ]; bool success = LoginManager.CheckLogin(user, pwd); ViewBag.Success = success; return View(); } } |
'Program > C#' 카테고리의 다른 글
[C#] Nullable 타입의 도입 (0) | 2019.01.23 |
---|---|
[C#] MVC View (0) | 2019.01.23 |
[C#] MVC Controller (0) | 2019.01.23 |
[C#] C#에서 @를 사용할 때 (0) | 2019.01.22 |
[C#] 진수 변환 (Base Converter) (0) | 2019.01.22 |