본문 바로가기

MVC

Controller, ActionResult In MVC 모든 Controller는 IController interface를 구현한다. * Mvc.Controller의 특징 1. ActionMethods : Controller의 동작이 여러개의 method로 분할된다. 각 Action method는 서로다른 URL로 노출되며, 들어오는 요청에서 추출된 매개변수를 가지고 있다. 2. ActionResult : Action의 의도된 결과를 나타내는 개체를 선택해서 반환할 수 있다. 결과를 지정하는 것과 실행하는 것이 분리되기 때문에 자동화된 테스트가 상당히 간단하게 구성될 수 있다. 3. Filter : 재사용 가능한 동작들을 Filter로 캡슐화할 수 있다. * Controller의 입력 처리 Mvc.Controller에서 사용 가능한 속성들 1. Request.. 더보기
ASP.NET MVC - 잠재적 위험이 있는 Request.Form 값을 변경했습니다. Visual Studio 2010 - MVC 2.0 프로젝트로 작업을 하던중... Visual Studio 2010 MVC - 잠재적 위험이 있는 Request.Form 값을 발견했습니다. 다음과 같은 에러가 났다. 열심히 구글링도 해보고, 이것저것 찾아봤다. 해결책은, 기존의 WebForm 에서는 ValidateRequest="false" 이런 내용을 페이지에 추가하라고 한다. 하지만 MVC에서는 액션함수 속성으로, [AcceptVerbs(HttpVerbs.Post), ValidateInput(false)] (포스트일때 주로 이런일이 일어나니까..) 이걸 추가하면 된다고 여기저기 블로그나 게시판에 있다. 하지만, .NET Framework 4.0에서는 이역시 안된다. Web.Config 파일에 다음 내.. 더보기
ASP.NET MVC 에서 사용자 정의 컨트롤의 내용을 문자열로 받기 간혹 사용자 정의 컨트롤(.ascx) 파일에서 처리한 내용을 Page에 바로 출력하는 것이 아니라, 문자열로 받아야 할 경우가 있습니다. ASP.NET 웹 폼의 경우에는 Page.LoadControl() 과 Control.RenderControl() 메서드를 이용하여 아래와 같은 코드로 사용자 정의 컨트롤이 처리한 내용을 문자열로 받아올 수 있습니다. Control control = LoadControl("~/MailTemplate.ascx"); ((MailTemplate)control).DestinationName = "Whistle"; StringBuilder stringBuilder = new StringBuilder(); using (StringWriter sw = new StringWriter(.. 더보기