2011-02-02 2 views
1

나는 asp.net mvc에 새롭다. 그것은 "유치한"질문 일 수 있습니다. :-)ViewData.Model과 View의 인수를 통해 데이터를 전달할 때의 차이점은 무엇입니까?

우리는 다음과 같은 (물론 다른 사람들) 두 가지 방법을 사용하여 제어 장치 내에서 데이터를 전달할 수있다 : 각각의 장단점 무엇

ViewData.Model=obj; 
return View(); 

또는

return View(obj); 

을 접근? 내가 어떤 차이가 없다고 생각

+1

제 생각에는 차이점이 없습니다. –

+2

하지만 실제로는 두 번째 옵션을 사용하십시오. 그것은 훨씬 더 분명하다. –

답변

3

두 조각은 동일 첫 번째 옵션은 개체 모델에 직접 전달되는 반면 두 번째 옵션은 뷰에 매개 변수로 전달되지만 결국에는 개체 모델에 전달됩니다.

View() 방법을 살펴보면 inside라는 첫 번째 스 니펫을 볼 수 있습니다.

protected internal ViewResult View(object model) { 
    return View(null, null, model); 
} 

protected internal virtual ViewResult View(string viewName, string masterName, object model) { 
    if (model != null) { 
     ViewData.Model = model; 
    } 

    .... 
} 

따라서 둘 다 동일하지만 첫 번째는 직접 접근 방식입니다.

1

기술적으로 ...

내가 그냥 "느낌"나에게로 두 번째 방법을 사용하는 것이 더 좋은 ...

관련 문제