एक अनुवर्ती के रूप में साथ है, ViewBag (और ViewData) के पीछे विचार यह है कि आप सामान की कुंजी-मान जोड़ों बंद की दुकान और आसानी से दृश्य में उन पर पहुंच सकते हैं।
ViewData के साथ, आप तो जैसे इन बातों का संदर्भ:
ViewData["SomeKey"] = someObject;
आप उपयोग कर भी ऐसा ही चाहते हैं बजाय ViewBag (जो कि ViewData शब्दकोश निर्माण एक रैपिंग के आसपास प्रदान करता है और यह थोड़ा कम वर्बोज़ और बनाता है थोड़ा अधिक पठनीय) तुम इतनी तरह बातें संदर्भ:
ViewBag.isAdmin = true;
और, उन्हें जांच कर सकते हैं के रूप में tyrongower ऊपर कहा गया है, इसलिए जैसे:
if (ViewBag.isAdmin)
{
// do stuff
}
मैं आमतौर पर व्यूबैग वाक्यविन्यास का उपयोग करता हूं जब मैं इस निर्माण का उपयोग करता हूं, लेकिन वे वास्तव में एक ही सामान का संदर्भ देते हैं। तो अगर आप ऐसा दृश्य बाहर की तरह कुछ किया:
ViewData["isAdmin"] = true;
आप इसे इस तरह का संदर्भ सकता है, यदि आप ऐसा इच्छुक थे:
ViewBag.isAdmin
या इसके विपरीत।
अवधारणा पर बस थोड़ा और विस्तार।
'व्यूबैग' प्रकार 'गतिशील' प्रकार है ताकि आप केवल डॉट नोटेशन का उपयोग कर सकें। हालांकि 'व्यूडाटा' प्रकार 'डिक्शनरी' (अच्छी तरह से ViewDataDictionary) है, इसलिए आपको कुंजी निर्दिष्ट करने के लिए अनुक्रमण का उपयोग करना होगा। –