2013-03-07 3 views
1

저는 asp.net mvc를 (를) 새롭게했습니다. 기본적으로 저는 PHP 프로그래머입니다. 내 PHP 파일에서 나는 echo $_POST; 또는 print_r($_POST); 또는 var_dump($_POST)을 사용하여 HTML 페이지 또는 양식에서 오는 모든 값을 표시 할 수 있습니다. 하지만 asp.net에서 어떻게하면 모든 값이 UI 페이지에서 컨트롤러로 전달되는지 확인할 수 있습니다.asp.net mvc 양식 값 표시

+2

먼저 모델을 수용하는 행동을, 튜토리얼을 읽기 시작 http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3 –

답변

3

당신은 Request.Form 특성을 살펴 수 있습니다

public ActionResult SomeAction() 
{ 
    var values = Request.Form; 
    ... 
} 

당신은 중단 점을 넣어 값을 분석 할 수 있습니다. 또는 브라우저에서 자바 스크립트 개발 도구 모음 (예 : FireBug 또는 Chrome 개발자 툴바)을 사용하여 서버로 전송되는 내용을 정확하게 확인할 수 있습니다.

그러나 일반적으로 원시 값에 직접 액세스하지 않아야합니다. ASP.NET MVC에는 서버에 전송 된 값을 기반으로 일부 모델을 인스턴스화 할 수있는 모델 바인더가 있습니다.

예를 들어 다음과 같은 모델 수 :

public class MyViewModel 
{ 
    public int Age { get; set; } 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
} 

을 다음 컨트롤러 액션을 매개 변수로이 모델을 가지고 :

public ActionResult SomeAction(MyViewModel model) 
{ 
    ... you could use the model properties here 
} 

을 지금 당신이 wityh 중이 컨트롤러 액션을 호출 할 수 GET 요청은 쿼리 문자열 (/someaction?age=10&firstname=foo&lastname=bar)의 매개 변수를 전달하거나 POST를 사용하여 본문에 전송합니다.

+0

방금 ​​내 대답에이 지점을 추가하고 싶습니다. 적절한 방법은 행동중인 모델을 사용하는 것입니다. :) 그리고 지금 나는 당신이 질문을 더 편집 한 것을 보았습니다 ... +1 –

+0

정말로 당신의 응답에 감사 드리며 왜 우리가 나의 ui 페이지에 대한 viewmodel을 사용하고 싶은지를 이해할 수있었습니다. 고마워요. –

0

Request.Form을 통해 원시 데이터를 확인할 수 있습니다.

그러나 이것은 ASP.NET MVC의 정신이 아닙니다. 컨트롤러에 모델을 기대하는 것이 더 좋습니다. 모델 바인더라는 특수 모듈로 이미 수행 된 모든 유형 안전 매핑이 있습니다. 당신은 몇 가지 특별한 경우에 작동하지 않는

그래서, 당신은 단지 컨트롤러 액션에 모델을 추가 :

public ActionResult SomeAction(SomeModel model) 
{ 
    //Handle SomeModel data further ... 
} 
0

당신은 다음과 같은 UI 페이지에서 매개 변수를 허용하는 행동 만들 수 있습니다

[HttpPost] 
public ActionResult SomeAction(string param1, int param2) 
{ 
    //Now you can access the values here 
} 

또는

public ActionResult SomeAction(SomeModel model) 
{ 
    //Access the model here 
}