2013-05-16 93 views
4

有沒有什麼辦法來檢查viewbag內容,什麼viewbag在該視圖的數據。 我的控制器可能每次我點擊按鈕,並用相同的命名viewbag發送發送新數據。如何檢查viewbag的內容剃刀

這裏我控制器

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',即'訂單明細(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

林不使用強類型的視圖,而我的觀點是不綁定到任何模型。這樣的觀點dosent知道什麼列表是 –

+0

@FadiAlkadi,不具有任何與此視圖,或不是,強類型。你只需要提供完整的命名空間聲明中的觀點(即我的代碼),或者將它們作爲在'web.config'包括。 –

+0

它工作完美。謝謝! –

2

是的,你可以

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