2011-03-04 3 views
1

내 의견으로는 (asp mvc3/razor cshtml) 요청 개체 (eg, @Request.Params["Name"])에 대한 참조를 사용하고 있습니다. 이것이 아주 나쁜 습관이라고 생각합니까? Request.Params ["Name"] 컨트롤러의 값을 ViewBag.Name으로 다시 쓰고 (@ViewBag.Name)보기에서 사용해야합니까?asp.net mvc3/razor보기 모범 사례

답변

0

컨트롤러 Request.Params [ "Name"]의 값을 ViewBag.Name에 다시 쓰고 뷰 (@ ViewBag.Name)에서 사용해야합니까?

예. "이름"이 존재하지 않으면 런타임 오류가 발생하지 않습니다.

IDE는 다음 코드로 인해 NullReferenceException이 던져지기를 경고하지 않습니다.

@Request.Params["Fake"].ToString() 

물론 ViewBag.Fake도 null이어야합니다.

1

모범 사례를 사용하는 것이 가장 좋습니다. 모델 클래스의 인스턴스는 컨트롤러에서 생성되거나 업데이트됩니다. 그런 다음 컨트롤러는 강력한 형식의보기를 표시합니다.

그래서 뷰 ​​백과 뷰의 요청에 직접 액세스하지 않아야합니다.

+0

예, 우선적입니다. – JustinStolle

0

모델과 관련이없는 항목을 저장하기 위해 뷰 북을 사용합니다 (예 : 위치가 포함 된 드롭 다운이있는 경우). 연락처를 만들 필요가 없으므로 선택한 위치의 ID와 뷰백의 위치 만 모델에 저장하려고합니다. 나는 그것이 그 뷰백의 목적이라고 생각한다.

은 나를 위해 모델 내가 NewCustomerModel, 나는 싶지는 IList<CustomerType>SelectedCustomerTypeId 특성 같은 것들에 내 모델을 오염시키지 않는 이용 고객 창출 전망이있는 경우, 예를 들어, 비즈니스 운영에서 사용되는 가방이나 호텔입니다. 나는 단지 imma가 고객을 만드는 데 사용하기 때문에 두 번째를 원한다.