2011-01-31 6 views
5

मेरे परियोजना में <% if (Model.Folders != null){}%> ठीक काम कर रहा है लगता है, जब मैं उस्तरा प्रारूप के लिए इस कोड को परिवर्तित, मैं अपवाद मिल गया "कोई अधिभार विधि के लिए 'लिखें' 0 तर्क लेता है MVC3 उस्तरा स्वरूप, "मेरेकोई अधिभार विधि के लिए 'लिखें' MVC3 उस्तरा स्वरूप में 0 तर्क,

Html.RenderPartial(ViewData["abc"] as string, Model); 

पर में मैं गतिशील दृश्य का उपयोग कर रहा हूँ

+0

मुझे यह त्रुटि भी इस पंक्ति में मिली: '@ {isAlt =! IsAlt;}'। यह बहुत अजीब है, मैं सिर्फ बुलियन वैरिएबल टॉगल करना चाहता हूं। पहले मैंने इसे '@ {var isAlt = true;}' घोषित कर दिया है और 'वर्ग = "@ (isAlt?" Alt ": string.Empty) के साथ बीच में कहीं भी उपयोग किया है" जिसका उपयोग तालिका में वैकल्पिक पंक्तियों को स्टाइल करने के लिए किया जाता है । एक कारण होना चाहिए ... – CallMeLaNN

+0

मुझे जवाब मिला: http://stackoverflow.com/questions/4466469/razor-no-overload-for-method-write-takes-0-arguments – CallMeLaNN

उत्तर

7

उस्तरा में if परीक्षण इस तरह होना चाहिए:

@if (Model.Folders != null) 
{ 
    <div>@Model.Folders</div> 
} 

और RenderPartial इस तरह:

@{Html.RenderPartial(ViewData["abc"] as string, Model);} 

या आप भी Partial तरीका है जिसके बराबर और एक छोटे से कम है इस्तेमाल कर सकते हैं:

@Html.Partial(ViewData["abc"] as string, Model) 
+0

जब मैं "@ Html.Partial (ViewData ["abc"] स्ट्रिंग, मॉडल के रूप में) ", मुझे निम्न त्रुटि मिल रही है" 'System.Web.Mvc.HtmlHelper ' में 'आंशिक' नामक कोई लागू विधि नहीं है लेकिन ऐसा लगता है कि एक विस्तार विधि है उस नाम। एक्सटेंशन विधियों को गतिशील रूप से प्रेषित नहीं किया जा सकता है। गतिशील तर्कों को कास्टिंग करने या एक्सटेंशन विधि वाक्यविन्यास के बिना एक्सटेंशन विधि को कॉल करने पर विचार करें। \t " –

+0

@amir, आपका विचार दृढ़ता से टाइप नहीं किया गया है, इसलिए आप 'मॉडल' चर का उपयोग नहीं कर सकते हैं। सुनिश्चित करें कि आपका दृश्य दृढ़ता से कुछ मॉडल प्रकार पर टाइप किया गया है: '@model AppName.Models.SomeModel' आपके दृश्य के शीर्ष पर। –

+0

इसकी दृढ़ता से टाइप किया गया, मैंने "@model AppName.Models.SomeModel" –

2

मैं एक ही समस्या पड़ा है, मैं इसे लपेटकर द्वारा हल मेरी Html.RenderPartial इस प्रकार है:

 <text> 
     @{ 
      Html.RenderPartial(ViewData["abc"] as string, Model); 
      } 
    </text> 

या

<div> 
@{ 
Html.RenderPartial(ViewData["abc"] as string, Model); 
} 
</div> 
संबंधित मुद्दे