Html.RenderPartial () रेजर के साथ वाक्य रचना


95

यह काम करता है, क्योंकि यह स्ट्रिंग में आंशिक दृश्य प्रतिपादन का परिणाम देता है:

@Html.Partial("Path/to/my/partial/view")

लेकिन मैं उपयोग करना पसंद करता हूं RenderPartialऔर ऐसा लगता है कि मुझे लिखने की आवश्यकता है:

@{Html.RenderPartial("Path/to/my/partial/view");}

के बजाय:

@Html.RenderPartial("Path/to/my/partial/view");

यह काम करने के लिए प्राप्त करने के लिए। त्रुटि संदेश:

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

अगर कोड @{...}विधि को खोलने के बजाय सिर्फ एक विधि कॉल के लिए कोई बेहतर तरीका है ?


जब आप उपयोग करने का प्रयास करते हैं, तो आपको क्या त्रुटि होती है@Html.RenderPartial()
नील नाइट

मैंने अपनी पोस्ट में संदेश जोड़ा है। मैं समझता हूं कि यह एक त्रुटि क्यों दिखाता है @ Html.RenderPartial () को लगभग% के रूप में पार्स किया गया है ?: @ Html.RenderPartial ()?> जो गलत है और जैसा नहीं है <? Html.RenderPartial (); ?>, लेकिन मुझे वर्कअराउंड की तलाश है।
आर्टवोक

संबंधित: Html.Partial बनाम Html.RenderPartial & Html.Action बनाम Html.RenderAction । BTW आप का उपयोग क्यों करना पसंद करते हैं RenderPartial?
पाओलो मोरेटी

जवाबों:


142
  • RenderPartial()एक शून्य विधि है जो प्रतिक्रिया धारा को लिखती है। एक शून्य विधि, C # में, की आवश्यकता है ;और इसलिए इसे संलग्न किया जाना चाहिए { }

  • Partial()एक ऐसी विधि है जो MvcHtmlString लौटाती है । रेजर में, आप एक संपत्ति या एक विधि कह सकते हैं जो इस तरह के एक स्ट्रिंग के साथ सिर्फ एक @उपसर्ग के साथ देता है ताकि आप इसे सादे HTML से अलग कर सकें।


1
आप Html.Partial के बजाय Html.RenderPartial का उपयोग क्यों करना पसंद करते हैं? यदि आप किसी कारण से, Html.RenderPartial के साथ जाना चाहते हैं, तो कोई समाधान नहीं है - यह वाक्यविन्यास है।
ओफ़र ज़ेलिग

5
मैं इसका उपयोग करता हूं क्योंकि यह अधिक प्रभावी होना चाहिए (क्योंकि यह बड़ी स्ट्रिंग वापस नहीं करता है)।
आर्टवोक

45

Html.RenderPartial () एक शून्य विधि है - आप जाँच सकते हैं कि क्या कोई विधि आपके कोड में RenderPartial के लिए कॉल पर अपना माउस रखकर एक शून्य विधि है और आप पाठ (एक्सटेंशन) vt HttHelper.RenderPartial देखेंगे ...

शून्य विधियों को कॉलिंग कोड के अंत में अर्धविराम की आवश्यकता होती है।

Webforms के दृश्य इंजन में आपने अपने Html.RenderPartial () कॉल को मधुमक्खी के डंक के भीतर <<%>

इस तरह

<% Html.RenderPartial("Path/to/my/partial/view"); %>

जब आप रेज़र व्यू इंजन का उपयोग कर रहे हैं तो समतुल्य है

@{Html.RenderPartial("Path/to/my/partial/view");}

5
"मधुमक्खी का डंक" - यह एक पहला (मेरे लिए?)
जोबोर्कहॉस

9
@Html.Partial("NameOfPartialView")

मैं उपयोग करना चाहूंगा Html.RenderPartial(), इसीलिए मैंने यह सवाल पूछा। विवरण: "प्रदर्शन-वार, यह दावा किया गया है कि सीधे आउटपुट स्ट्रीम में रेंडर करना बेहतर है (यही वजह है कि वे w / RenderPartial को शुरू करने के लिए गए थे)।" यहाँ से stackoverflow.com/a/2729851/118810
आर्टवोक

0

यदि आपको यह प्रारूप दिया जाता है तो यह किसी अन्य पेज के लिंक की तरह होता है या किसी अन्य लिंक का होता है। HTML फाइल को एक जगह से दूसरी जगह भेजने के लिए प्रमुखता से उपयोग किया जाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.