2013-05-30 6 views
8

एमवीसी 4 में, क्या यह ViewBag के लिए कभी भी null हो सकता है? यदि हां, तो यह किस परिदृश्य में हो सकता है? यदि नहीं, तो आप कैसे जानते हो?क्या देख सकते हैं मैक 4 एमवी 4 में शून्य हो सकता है?

विशेष रूप से, मैं जानना चाहता हूं कि यह null एक दृश्य में हो सकता है या नहीं। हालांकि, नियंत्रक में null हो सकता है या नहीं, इसके बारे में अतिरिक्त जानकारी उपयोगी होगी।

उदाहरण के लिए, क्या मुझे null जांच करने की आवश्यकता है?

if (ViewBag != null && ViewBag.Something != null && ViewBag.Something.Foo == "Bar") 
{ 
    // can ViewBag be null? 
} 
+0

एक ध्यान में रखते हुए या एक नियंत्रक में:

WebViewPage में ViewBag संपत्ति गेटर इस तरह दिखता है? – SLaks

+0

या तो मुझे लगता है, लेकिन विशेष रूप से एक दृश्य में। – matthewpavkov

उत्तर

17

नहीं है, यह नहीं कर सकता।

public dynamic ViewBag 
{ 
    get 
    { 
     if (_dynamicViewData == null) 
     { 
      _dynamicViewData = new DynamicViewDataDictionary(() => ViewData); 
     } 
     return _dynamicViewData; 
    } 
} 
+0

यही वह है जिसे मैं ढूंढ रहा था। – matthewpavkov

+0

मैंने इसे नीचे ट्रैक करने का प्रयास किया, हालांकि मुझे लगता है कि 'सार्वजनिक गतिशील व्यूबैग {प्राप्त करें; } 'ViewMasterPage' में। आपने इसका पता कैसे लगाया? – matthewpavkov

+2

@matthewpavkov: http://aspnetwebstack.codeplex.com/ – SLaks

5

ViewBag ही है, नल नहीं हो सकता इसलिए पहली जांच

if (ViewBag != null) 

बेकार

संबंधित मुद्दे