https://www.youtube.com/watch?v=KvTy_FAYjks&index=3&list=PL6n9fhu94yhVm6S8I2xd6nYz2ZORd7X2v


------------------------------------------------------ ------------------------------------------------------ 

runtime using code 확인


컨트롤러.cs 에서

Index()함수 안에서 아래 구문 넣어서 확인

그리고 웹페이지 Index 확인


return typeof(Controller).Assembly.GetName().Version.ToString();



뷰엔진 (ASPX, Razor)


비쥬얼스튜디오

우측 프로젝트 최상위 우측키 클릭

web 탭에서 어디서 퍼블리싱 할 것인지 선택가능(Visual Studio or IIS) 

IIs 선택하고 create Virtual Directory 선택하면 자동으로 생성됨


http://localhost/MVCDemo/Home/Index

       Server    Project 컨트롤러 Index함수


= http://localhost/MVCDemo


MVC URL        = 컨트롤러의 액션 메소드를 매핑

일반 웹폼 URL  = 물리적인 파일 매핑



------------------------------------------------------------------------------------------------ ------------

3강


global.asax

URL 매핑

컨트롤러Home  엑션 index 페이지 매핑해주는 함수호출

Routeconfig.cs


---------------------------------------------------------------------------------------------- --------------

기존 QueryString 방식 

호긍 

localhost/MVCDemo/home/index/10  형태로 넘길수도 있음


둘다 Index(string id, string name)  형태로 받아 사용가능

return "ID = " + id + " Name =" + name;


GET/POST 모두 가능




------------------------------------------------------ 

view

컨트롤러 해당 함수에서 우측키 뷰페이지 생성


public ActionResult Index()

{

.,..

..

return View();

}


public ViewResult Index()

{

.,..

..

return View();

}


public ViewResult Index()

{

//ViewBag 객체한테 넘겨준다

//동적 프로퍼티에 넣어준다.

ViewBag.Countries = new List<string>();

{

"India", "US", "Korea"

};


return View();

}


ViewBag.동적


cshtml = Razor

cshtml에서 닷넷 코드를 쓰려면 @ 골뱅이


<ul>

//똑같은 프로퍼티 명으로 받아야됨

@foreach(string strCountry in ViewBag.Countries)

{

<li>@strCountry </li>

}

</ul>


--------------------------------------------------------------------------------------------------- --------- 

ViewBag, ViewData is mechanism to pass data from controller to view.


controller -> view 


ViewData["aaa"] = "bbb";

ViewBag.aaa = "bbb";



---------------------------------------------------------------------------------------------------- -------- 

Model


view 페이지 최상단 import

@model MVCDemo.Models.Employee 



컨트롤러 함수 마지막

View(employee) 넘겨줘야됨



------------------------------------------------------------------------------------------------- ----------- 

1. 인스톨 엔티티 프레임워크 by using nuget package manager

2. Add EmployeeContext.cs class 모델폴더에 추가

3. Add 연결문자열 to web.config 


VS에서 Manage Package Manager 선택

엔티티프레임워크 선택 추가



----------------------------------------------------------------------- ------------------------------------- 

테이블 읽어오도록 수정


@foreach(Department department in @Model)

{

<li>

@Html.ActionLink(department.Name, "Index", "Employee", new{ departmentId = department.ID }, null)

//                        인자,     ,,,       컨트롤러명

</li>

}


EmplyeeController 안에 인자받는 클래스 생성

public ActionResult Index(int deptId)

{


List<Employee> employees = employeeContext.Employees.Where(emp = emp.DepartmentId == deptId).ToList();


}


----------------------------------------------------------------------------------------- ------------------- 

마지막 BackToList 시 에러

@Html.ActionLink("Back to List","Index" ) =>@Html.ActionLink("Back to List","Index", new{ departmentId = @Model.DepartmentId})  )




Index(int deptId) 였는데


------------------------------------------------------------------------------------------- ----------------- 








+ Recent posts