2011-03-25 9 views
99

मैं एक परीक्षण आंशिक _Test.cshtml नामित पेज बना दिया है और मेरे विचार के रूप में ही निर्देशिका है कि यह कॉल करेंगे में डाल दिया है, यहाँ यह है:Html.RenderPartial मुझे अजीब अधिभार त्रुटि दे रही है?

<div>hi</div> 

और बुला cshtml ध्यान में रखते हुए, मैं बस डाल:

@Html.RenderPartial("_Test") 

कौन सा मुझे त्रुटि देता है:

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

मैं भी वीं के साथ पूरा पथ की कोशिश की है ई एक ही परिणाम।

मैं बहुत रूप में यह क्यों इस तरह से काम कर रहा है के लिए उलझन में हूँ, मैं मैं कुछ सरल याद आ रही है मान लेते हैं?

उत्तर

185

आपको यह त्रुटि हो रही है क्योंकि Html.RenderXXX सहायकों शून्य वापसी - वे वापस जाने के लिए है क्योंकि वे प्रतिक्रिया के लिए सीधे * सामान लिख रहे हैं कुछ भी नहीं है। आप उन्हें इस तरह का उपयोग करना चाहिए:

@{ Html.RenderPartial("_Test"); } 

वहाँ भी Html.Partial सहायक है, जो अपने वाक्य रचना के साथ काम करेंगे है, लेकिन मैं जब तक आप क्योंकि प्रदर्शन के (यह पहली बार दिया composes, करने के लिए है यह उपयोग करने की अनुशंसा नहीं चाहते हैं स्ट्रिंग में आंशिक दृश्य, और फिर जनक दृश्य प्रतिक्रिया * में कहते हैं)।

* यह पूरी तरह से सच नहीं है, वे वास्तव में ViewContext.Writer में प्रस्तुत किए जा रहे हैं और एक बार पूरा पृष्ठ प्रस्तुत और रचना किया जाता है, पूरी बात

पर प्रतिक्रिया देती है
संबंधित मुद्दे