में सामग्री को प्रस्तुत करने के लिए कैसे Razor में एक चर में HTML का एक टुकड़ा प्रस्तुत करने के लिए?रेजर - एक चर
<content var="t">
<a class="tab" href="">Tab name</a>
</content>
<content var="tc">
<div class="tabcontent">
<p>Here goes tab content</p>
</div>
</content>
!{tabs(t, tc)}
दो चर मैक्रो टैब पत्रक में सामग्री के सभी अच्छा रैपिंग करता है के लिए पारित हो: स्पार्क में मैं निम्नलिखित कोड लिखने के लिए इस्तेमाल किया।
रेजर में ऐसा करने का सबसे अच्छा तरीका क्या है?
अद्यतन: मुझे लगता है कि मुझे मिल गया ..
उस्तरा में, @<text>...</text>
निर्माण जो एचटीएमएल का एक टुकड़ा बताए की एक विस्तारित बराबर है, लैम्ब्डा भाव, जो बाद में पुन: उपयोग किया जा सकता है निर्माण करने के लिए उपयोगकर्ता हो सकता है एक चर के लिए। ऊपर के उदाहरण निम्नलिखित तरीके से लागू किया जा सकता:
Func<int, object> t =
@<text>
<a class="tab" href="">Tab name</a>
</text>;
Func<int, object> tc =
@<text>
<div class="tabcontent">
<p>Here goes tab content</p>
</div>
</text>;
@tabs(t(0), tc(0))
मैं बस को समझ नहीं सकता कैसे parameterless lambdas (Func<object>
) लिखने के लिए। उपरोक्त दोनों भेड़ के बच्चे में int
पैरामीटर एक डमी है। रेजर को एक पैरामीटर की आवश्यकता होती है (और अभिव्यक्ति के भीतर इसे इंगित करने के लिए पहले से ही एक चर "आइटम" बनाता है)।
धन्यवाद, मुझे लगता है कि मैं वास्तव में जरूरत है एक इनलाइन सहायक वाक्य रचना है। मैं यह नहीं करता कि यह अभी तक रेजर में उपलब्ध है। समाधान एक स्पष्ट सहायक घोषित करना होगा, जिसे कहा जा सकता है और परिणाम एक चर में असाइन किया जा सकता है। – Andy
मैं उपरोक्त टिप्पणी में गलत था। वाक्यविन्यास उपलब्ध है, कोई स्पष्ट सहायक की आवश्यकता नहीं है। इसके बजाय लैम्ब्डा अभिव्यक्तियों का उपयोग किया जा सकता है। मेरा अद्यतन प्रश्न देखें। – Andy