2010-12-11 10 views
16

मुझे पाइप शाब्दिक '|' संलग्न करने के लिए <text> टैग का उपयोग करने की आवश्यकता क्यों है इस मार्कअप में? निश्चित रूप से यह एक्शनलिंक विधि के दायरे से बाहर है।एमवीसी 3 रेजर व्यू में टेक्स्ट शाब्दिक समस्या

@foreach (var item in Model.DetailItem.PlannedResources) 
{ 
    <tr> 
     <td> 
      @if (Model.ViewMode == ViewMode.Edit) 
      { 
       @Html.ActionLink("Edit", "Edit", new { id = item.PlannedResourceId }) <text>|</text> 
       @Html.ActionLink("Delete", "Delete", new {id = item.PlannedResourceId})                  
      } 
      @Html.ActionLink("Details", "Details", new { id = item.PlannedResourceId }) 
     </td> 
     <td> 
      | @item.ResourceType.Name 
     </td> 
    </tr> 
} 

मैं उसका उपयोग नहीं करते हैं, तो मैं त्रुटि CS1525: Invalid expression term '|' मिलता है, लेकिन दूसरा '|' बिना रुकावट से हो जाता है।

उत्तर

20

क्योंकि जब आप के साथ { और } केवल HTML टैग शाब्दिक रूप में माना जाता एक बयान के अंदर हैं, बाकी सब सर्वर साइड स्क्रिप्ट है यह। तो आपको या तो <div>, <span>, जैसे मानक HTML टैग का उपयोग करने की आवश्यकता है ... या यदि आप शाब्दिक उपयोग का उपयोग करना चाहते हैं तो विशेष <text> टैग जो प्रतिक्रिया के लिए आउटपुट नहीं किया गया है।

+0

दिलचस्प है, लेकिन फिर मेरा दूसरा क्यों है। आंतरिक {} के बाहर चार (संपादन देखें), लेकिन यह अभी भी एक लूप के लिए बाहरी {} के भीतर है। एक HTML टैग के अंदर होने से यह किसी भी तरह से बच निकलता है? – ProfK

+0

@ProfK, मुझे समझ में नहीं आता है। आप किस आंतरिक और बाहरी '{} 'के बारे में बात कर रहे हैं? क्या संपादन? –

+1

@ProfK, क्षमा करें, अब मैं आपके संपादन देखता हूं। बाहरी '{}' में, '|' वर्ण एक टैग के अंदर है: '', यही कारण है कि यह काम करता है जबकि आंतरिक में कोई टैग नहीं है: आपके पास' {', कुछ सर्वर साइड हेल्पर '@ एचटीएमएल। एक्शनलिंक' सीधे '|' द्वारा पीछा किया गया, कोई टैग नहीं है और जब कोई टैग नहीं है तो इसे सर्वर की तरफ माना जाता है। –

18

यदि आपका टेक्स्ट एकाधिक लाइनों को फैलाता है तो आप <text> टैग का उपयोग कर सकते हैं।

<text>your text here...
over to the 2nd line.</text>

वैकल्पिक रूप से, अगर आप बस उत्पादन करना चाहते पाइप चरित्र पाठ निर्दिष्ट करने के लिए @: निर्देश का उपयोग करें,
तो @:| इच्छा उत्पादन |, और त्रुटि संदेश गायब हो जाएगा।

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