2012-06-25 22 views
6

मैं कस्टम सहायक विधि का उपयोग करके आंशिक दृश्य प्रदर्शित करने की कोशिश कर रहा हूं। एकमात्र समस्या यह है कि, मैं इस वाक्यविन्यास मुद्दे को पिछले नहीं कर सकता। इस cshtml फ़ाइल के लिए मॉडल सेट मॉडलों का एक आईनेमरेबल संग्रह है जिसे मैंने ऑपरेशन के रूप में परिभाषित किया है। मुझे यकीन है कि यह एक आसान फिक्स है।सिंटेक्स अंक- रेजर एमवीसी 4

मैं कोड के इस खंड है:

@using(Html.BeginForm()) { 
     <div id="editor_rows"> 
      @foreach (var item in Model){ 
      Html.RenderPartial("OperationEditorRow", item); 
      } 
     </div> 
    } 

यह मैं कार्यावधि में निम्न त्रुटि देता है: यहाँ मैं क्या दिखाई दे रही है, इसका एक उदाहरण

Unexpected "{" after "@" character. Once inside the body of a code block (@if {}, @{}, etc.) you do not need to use "@{" to switch to code. 

लेकिन अगर मैं हटाने @ फोरैच स्टेटमेंट के सामने साइन इन करें, सब कुछ सादा पाठ के रूप में व्याख्या किया जाता है।

Cannot implicitly convert type void to object 

तो मैं यहाँ से प्रोजेक्ट को चलाने, मैं एक रनटाइम त्रुटि मिलती है:

@using(Html.BeginForm()) { 
     <div id="editor_rows"> 
      @foreach (var item in Model){ 
      @Html.RenderPartial("OperationEditorRow", item); 
      } 
     </div> 
    } 

यह एक संकलन त्रुटि है कि कहते हैं के साथ वापस आता है: तो मैं एचटीएमएल के सामने एक @ रखकर इस प्रकार की कोशिश की जो कहता है:

The best overloaded method match for 'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)' has some invalid arguments 

मुझे लगता है कि यह पिछली त्रुटि से संबंधित है। अगर किसी के पास मेरे लिए कोई सुझाव है, तो कृपया मदद करें।

+0

'रेंडरपार्टियल' – lucask

+0

के बजाय 'आंशिक' का उपयोग करने का प्रयास करें आपका कोड सही दिखता है। विजुअल स्टूडियो को पुनरारंभ करने का प्रयास करें। यह इस तरह की कई विसंगतियों को ठीक करने के लिए पता चला है। –

+0

आपके दोनों सुझावों के लिए धन्यवाद। मैंने उन्हें कोशिश की, लेकिन मैं अभी भी वही त्रुटियां देख रहा हूं। मुझे लगता है कि समस्या का दिल दूसरे त्रुटि संदेश में है: –

उत्तर

1

समस्या हल के आसपास। मैंने इस पर एक सहकर्मी के साथ काम किया। यह मेरे आंशिक दृश्य के अंदर एक समस्या की ओर इशारा करते हुए लेखन विधि को संदर्भित त्रुटि को दर्शाता है। मैं वहां के अंदर कोड के एक ब्लॉक के आसपास @ {} का उपयोग कर रहा था, जो संभवतः अन्य वाक्यविन्यास त्रुटियों को फेंकने की संभावना थी। प्रतिक्रियाओं के लिए धन्यवाद।

0

जोड़ें {} की तरह @ {RenderPartial ...} अपने प्रस्तुत करना कॉल

+0

ऑब्जेक्ट पर टाइप शून्य को नकल रूप से परिवर्तित नहीं कर सकता है, लेकिन प्रतिक्रिया के लिए धन्यवाद, लेकिन जब भी मैं ऐसा करता हूं, तो भी मुझे पहले जैसा ही वाक्यविन्यास त्रुटि दिखाई दे रही है: अप्रत्याशित "{ "बाद में" @ "चरित्र। एक बार कोड ब्लॉक (@if {}, @ {}, आदि के शरीर के अंदर) आपको कोड पर स्विच करने के लिए "@ {" का उपयोग करने की आवश्यकता नहीं है। –

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