2013-02-26 88 views
6

मैं यह तय नहीं कर सकता कि मुझे अपनी समस्या को हल करने के लिए HTMLHelper या आंशिक दृश्य का उपयोग करना चाहिए या नहीं।htmlHelper बनाम आंशिक दृश्य

मैं निम्नलिखित कोड का पुन: उपयोग करना चाहते हैं:

<div style="width: 500px; float: left;"> 
    <div class="box effect2"> 
    <span><a href="@Url.Action("someMethod", "somController")"> 
     <img src="@Url.Content("~someurl)" /></a></span> 
    </div> 
</div> 

href और छवि स्रोत पैरामीटर होगा।

ऐसा करने का सबसे अच्छा तरीका क्या है?

उत्तर

9

आपके पास बहुत सारे मार्कअप होने पर आंशिक दृश्य का उपयोग करें। एचटीएमएल हेल्पर्स का इस्तेमाल एचटीएमएल के केवल छोटे हिस्सों को उत्पन्न करने के लिए किया जाना चाहिए। इस विशेष मामले में आप वास्तव में सीमा पर हैं और दोनों दृष्टिकोण ठीक होंगे। इस विशेष उदाहरण के लिए आप जिस चीज को प्राथमिकता देते हैं उसका प्रयोग करें। मैं शायद यहां एक कस्टम एचटीएमएल सहायक के साथ जाऊंगा क्योंकि यह एक आम विजेट लगता है जिसे विभिन्न अनुप्रयोगों में पुन: उपयोग किया जा सकता है यदि आप इसे असेंबली में शामिल करते हैं।

+0

ठीक है, जानकारी के लिए धन्यवाद। मैंने आपकी सिफारिश के अनुसार एक HTML मददगार बनाया है। – Sam

+0

AJAX के माध्यम से आपका कोड कॉल किया जाएगा या नहीं, यह भी एक मानदंड हो सकता है। – mediafreakch

+0

@DarinDimitrov मुझे लगता है कि प्रदर्शन पहलू को भी यहां माना जाना चाहिए। आंशिक विचारों का उपयोग करते समय, नियंत्रक फैक्टरी आंशिक दृश्य (यदि आंशिक दृश्य में कोई है) का नियंत्रक बना देगा और इसमें समय लगता है। ControllerFactory पहले आंशिक दृश्य का स्थान प्राप्त करेगा (यह आंशिक विचारों के स्थानों को कैश करता है लेकिन फिर भी ..) और एक नियंत्रक उदाहरण बनाएं जो एक छोटी वस्तु नहीं है और कुछ स्मृति का उपभोग करता है। अगर आंशिक दृश्य में कोई नियंत्रक नहीं है (उदा। रेंडरपार्टियल), तो उसे अभी भी आंशिक दृश्य की खोज करनी है। इसलिए, मुझे लगता है कि HtmlHelpers का उपयोग बेहतर होगा। तुम क्या सोचते हो? – sotn