जबकि माइक्रोसॉफ्ट ने रेजर एमवीसी 4 में एचटीएमएल विशेषताओं के कुछ ऑटोमैटिक रेंडरिंग का निर्माण किया है, मुझे एक सशर्त रेजर अभिव्यक्ति के आधार पर एक तत्व पर दूसरी सीएसएस कक्षा प्रदान करने का तरीका जानने में काफी समय लगा। मैं इसे आपके साथ साझा करना चाहूंगा।
एक मॉडल संपत्ति @ Model.Details के आधार पर, मैं एक सूची आइटम दिखाना या छिपाना चाहता हूं। यदि विवरण हैं, तो एक div दिखाया जाना चाहिए, अन्यथा, इसे छिपाया जाना चाहिए। JQuery का उपयोग करते हुए, मुझे केवल एक वर्ग शो या छिपाने की आवश्यकता है, क्रमशः। अन्य उद्देश्यों के लिए, मैं एक अन्य वर्ग, "विवरण" भी जोड़ना चाहता हूं। तो, मेरा मार्क-अप होना चाहिए:
<div class="details show">[Details]</div>
या <div class="details hide">[Details]</div>
नीचे, मैं कुछ विफल प्रयास दिखाता हूं (परिणामस्वरूप मार्क-अप यह मानते हुए कि कोई विवरण नहीं है)।
यह: <div @(@Model.Details.Count > 0 ? "class=details show" : "class=details hide")>
,
इस प्रस्तुत करना होगा <div class="details" hide="">
:।
यह: <div @(@Model.Details.Count > 0 ? "class=\"details show\"" : "class=\"details hide\"")>
।
इस प्रस्तुत करना होगा <div class=""details" hide"="">
:।
यह: <div @(@Model.Details.Count > 0 ? "class='details show'" : "class='details hide'")>
इस प्रस्तुत करना होगा <div class="'details" hide'="">
:।
इनमें से कोई भी सही मार्क-अप नहीं है।