2013-05-16 2 views
4

뷰백의 내용을 확인하는 방법은 뷰포트의 뷰에있는 데이터입니다. 버튼을 클릭 할 때마다 내 컨트롤러가 새로운 데이터를 보내고 같은 이름의 뷰백으로 보내면됩니다.면도기에있는 뷰백의 내용을 확인하는 방법

여기 내 컨트롤러

public ActionResult Details(string IncomRequest, Int Id) 
    { 
// some code...... 
    switch (IncomRequest) 
    { 

     case ("Order"): 
      ViewBag.Query = list<Ordr> Ord; 
      break; 

     case ("Process"): 
      ViewBag.Query = lis<Process> pro; 
      break; 
    } 
    return view(); 

내보기에 나는 viewbag 그것이 오드 또는 프로입니다 을 포함 된 내용을 확인하시기 바랍니다. 보기에

+2

왜 그냥 2 개의 다른 ViewBag를 만들 수 있습니다 , 프로 용과 Ord 용 중 하나를 선택하고 어느 것이 비어 있는지 확인하십시오. – atbebtg

+0

강력한 형식보기를 사용 해본 적이 있습니까? –

+0

'IncomRequest'에서'OrderDetails (int id)'와'ProcessDetails (int id) '와 같은 두 개의 별도 액션을 생성 할 것입니다. 단일 책임 –

답변

2

당신은 같은 것을 할 수 있습니다

// if this is true then there's nothing there 
@if (ViewBag.Query == null) 

더 당신은이 작업을 수행 할 수 있습니다

// it was set by the "Order" case 
@if (ViewBag.Query is List<Ordr>) 
+0

강력한 형식의 뷰를 사용하지 않습니다. 어떤 모델에 구속되지 않습니다. 보기 담당자는 List 이 –

+0

@FadiAlkadi 인 것을 알고 있습니다.보기가 있거나없는 것, 강하게 입력 된 것과는 아무런 관련이 없습니다. 뷰 (즉, 내 코드)에 전체 네임 스페이스 선언을 제공하거나'web.config'에 포함시켜야합니다. –

+0

완벽하게 작동합니다. 감사! –

2

예는

@if(ViewBag.Query is List<Ordr>) 
{ 
    // List<Ordr> 
} 
else if(ViewBag.Query is List<Process>) 
{ 
    // List<Process> 
}