2008-11-07 3 views
7

웹 응용 프로그램을 미리보기 3에서 베타 1로 변환했으며 이제는 프레임 워크의 새로운 기능을 사용하려고합니다. 그 중 하나가 ModelBinding입니다.ModelBinding in asp.net mvc Beta1

이 특정 상황에서 나는 (지금은) 단순한 유형 속성 집합의 컨테이너 일뿐입니다. 여러 개의 텍스트 상자가있는 폼을 만들면이 필드를 사용하여 SearchBag 인스턴스를 채우는 프레임 워크가 필요합니다.

  • 어디서부터 시작해야합니까? 이 동작은 상자에서 벗어나거나 SearchBagBinder를 구현합니까? 나는 IModelBinder에서 을 훑어 보았지만, 꽤 주위에 내 머리를 감쌀 수는 없다. DefaultModelBinder 소스는 나를 현명하게 만든다.
  • 이 ModelBindingContext는 무엇입니까?
  • 양식 필드에 어떻게 액세스합니까?
  • 값이 에 양식으로 전달되지 않고 URL을 직접 입력하면 어떻게 될까요?
  • 여기에서 가장 최신의 정보를 찾을 수 있습니까 (대부분의 블로그는 구식입니다)? 한 번에 Phil이 게시물을 읽은 것 같았지만 은 더 이상 발견하지 못합니다.

도움을 주시면 감사하겠습니다.

+0

3 투표, 2 별, 답변 없음 : ( –

+0

) 3 명이 좋은 질문이라고 생각했기 때문에 3 표를 보냈습니다. 2 명이 2 명이 좋아하는 질문으로 작성했기 때문에 답장을 추적하는 데 interessted가 걸려서. – TheCodeJunkie

+0

별과 득표를위한 것입니다. 나는 대답을위한 나의 필요성을 감추고있는 괴상한 소년이었습니다 .. –

답변

3
  • 어디서부터 시작해야합니까? 이 동작은 상자에서 벗어나거나 SearchBagBinder를 구현합니까? 나는 IModelBinder에서 을 훑어 보았지만, 꽤 주위에 내 머리를 감쌀 수는 없다. DefaultModelBinder 소스는 나를 현명하게 만든다.

본래의 모습입니다. UpdateModel 또는 ModelBinder를 사용하여 수행하려는 작업을 수행 할 수 있습니다.

  • 이 ModelBindingContext는 무엇입니까?

여기에는 모델에 바인딩되는 요청에 필요한 모든 정보가 들어 있습니다. ControllerContext 및 ActionFilterContext와 유사하게, 기본적으로 ModelBinder의 상태이며 ModelBinder가 수행해야하는 작업에 대한 ASP.NET MVC 팀의 권장 사항을 따르는 경우 원하는 작업을 수행하는 데 필요한 모든 정보가 들어 있습니다.

  • 양식 필드에 어떻게 액세스합니까?
context.HttpContext.Request.Forms["myformfield"]; 

또는 값이 아니라 직접 URL을 입력하여 양식에 의해 에 전달 된 것이 아니라, 어떤 경우

foreach (var field in context.HttpContext.Request.Forms.Keys) { 
    var value = context.HttpContext.Request.Forms[field]; 
} 
  • ?

양식 두 컬렉션을 통해 QueryString을 그냥 루프를 모두 확인해야하는 경우.

foreach (var field in context.HttpContext.Request.Forms.Keys) { 
    var value = context.HttpContext.Request.Forms[field]; 
} 
foreach (var field in context.HttpContext.Request.QueryStrings.Keys) { 
    var value = context.HttpContext.Request.QueryStrings[field]; 
} 

또는 수 등이 포함됩니다 파람, 양식, QueryString을, 헤더를 통해 루프

foreach (var field in context.HttpContext.Request.Params.Keys) { 
    var value = context.HttpContext.Request.Params[field]; 
} 
나는이에 대한 최신 정보를 찾을 수 있습니까
  • * (대부분의 블로그는 구식입니까?) 한 번에 Phill이 게시판 을 읽은 것 같았지만 은 더 이상 발견하지 못합니다.

맞습니다. Phil은 ASP.NET MVC의 PM으로 가장 적합한 곳입니다.

+0

이 튜토리얼에서 HttpContext에 대한 언급을 한 적이 없었는데, 나는 그 속성을 얻지 못했습니다 .. 시스템을 추가 할 때까지. 웹. 내 견해로 돌아 가기! Doh! 감사합니다. –