2011-01-24 5 views
5

मेरे पास Default.master नामक एक मास्टर पेज है। मैं ViewBag.Title का उपयोग करके शीर्षक सेट करना चाहता हूं। मेरी नियंत्रक पर मेरे पास है:क्या एएसपीएक्स मोड में व्यूबैग के साथ पेज शीर्षक सेट करना संभव है?

public ActionResult Index() 
{ 
    ViewBag.Title = "Home"; 
    return View(); 
} 

मेरे Home दृश्य मास्टर दृश्य पृष्ठ के रूप में Default.master उपयोग करता है। मास्टर दृश्य पृष्ठ पर मैं उपयोग कर रहा हूँ:

<title><%= ViewBag.Title %></title> 

लेकिन मैं इस त्रुटि मिलती है:

The call is ambiguous between the following methods or properties: 'System.IO.TextWriter.Write(string, params object[])' and 'System.IO.TextWriter.Write(char[])' 

मैं कैसे इसे ठीक से उपयोग कर सकते हैं?

उत्तर

7

this blog post से मैं एक वाक्य रचना है कि मैं पहले कभी नहीं देखा देखा:

<%: %> 

यह एक अभिव्यक्ति प्रिंट, इसलिए का उपयोग कर:

<%: ViewBag.Title %> 

मैं सही मूल्य मिला।

+2

हालांकि यह एक सही वाक्यविन्यास है, लेकिन समस्या के साथ इसका कोई संबंध नहीं है जैसा कि कहा गया है ... –

+2

@ ओस्कर सवाल एएसपीएक्स मोड में व्यूबैग का उपयोग करने का एक तरीका था। यही तरीका है, तो यह सवाल कैसे हल नहीं करता है? – BrunoLM

+0

@ ब्रूनोएलएम मेरे लिए काम करता है, धन्यवाद! – mawburn

7

प्रयास करें:

<title><%= (string) ViewBag.Title %></title> 
+0

क्रैश नहीं होता है लेकिन खाली लौटाता है। – BrunoLM

+0

हम्म, कृपया अपनी एएसपीएक्स फ़ाइल की पूरी सामग्री पेस्ट करें। मैंने अभी एक एमवीसी 3 प्रोजेक्ट में नमूना एएसपीएक्स व्यू के साथ परीक्षण किया है और कोड ठीक काम करता है। – santiagoIT

+0

आपकी शीर्षक संपत्ति की तरह लगता है, क्यून वांग भी बताते हैं। जब आप गतिशील ऑब्जेक्ट को शून्य मान गुजर रहे हैं तो यह नहीं जानता कि इसका प्रतिनिधित्व कैसे किया जाए। इसे स्ट्रिंग में कास्टिंग अस्पष्टता को हटा देता है। –

1

आपका व्यूबैग। टिटल का मान शून्य है। शायद कुछ अपवाद हुए हैं। केवल इस मामले में संदिग्ध अपवाद

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