2012-10-29 10 views
13

उदाहरण के लिए, मैं मॉडल की atrribute के आधार पर <tr> तत्व को वर्ग जोड़ना चाहते हैं, किरेज़र सिंटैक्स का उपयोग करके गतिशील रूप से HTML तत्व में कक्षा कैसे जोड़ें?

<table> 
    <tbody> 
    @foreach (var item in Model) 
    { 
    if(item.Level==1) 
    { 
     <tr class="classA"> 
    }else if(item.Level==2) 
    { 
     <tr class="classB"> 
    }else 
    { 
     <tr> 
    } 

    <td>...</td> 
    <td>...</td>   

    </tr> 
    </tbody> 
</table> 

है, लेकिन यहाँ आईडीई मुझसे कहता है मेरे <tr> तत्व बंद नहीं है। मैं

उत्तर

23

मैं टर्नरी ऑपरेटर का उपयोग कैसे कर सकता हूं? और ऐसा कुछ लिखो।

<tr class="@(item.Level==1?"classA":item.Level == 2?"classB":"")"> 

यह बहुत पठनीय नहीं है, और जटिल comparaisons के साथ काम नहीं करेगा। इन मामलों में, मैं आपको रेज़र व्यू में एक विधि घोषित करने का सुझाव दूंगा

@functions{ 
    public string GetClassFromLevel(int level) 
    { 
     return level == 1 ? "classA" : level == 2 ? "classB" : ""; 
    } 
} 

<tr class"@GetClassFromLevel(item.Level)"> 
+0

आपकी मदद के लिए धन्यवाद !! – cameron

+1

प्रश्न के उत्तर के रूप में सेट करना न भूलें;) – Eilistraee

संबंधित मुद्दे