में नेस्टेड कोड ब्लॉक घोषणाओं के बारे में प्रश्न मैंने हाल ही में एमवीसी 1 से एमवीसी 3 तक एक परियोजना को अपग्रेड किया है और अब मैं रेजर को आजमा रहा हूं।रेजर
एक दृश्य में, मेरे पास एक फ़ोरैच कोड ब्लॉक है, लेकिन अगर नेस्टेशन इसके सामने @ नहीं चाहता है तो घोंसला हुआ है।
मेरे मूल कोड था: अप्रत्याशित "अगर" कीवर्ड के बाद "@" चरित्र:
@foreach(var r in Model.Results)
{
string css = r.Result.Count() > 0 ? "fail" : "pass";
<p class="@css"><strong>@r.Description</strong></p>
@if(r.Result.Count() > 0)
{
<p>Count: @r.Result.Count()</p>
<table>
<thead>
<tr>
<th>ID</th><th>Title</th><th>Description</th>
</tr>
</thead>
<tbody>
@foreach(var e in r.Result) {
<tr><td>@e.Id</td><td>@e.Title</td><td>@e.Description</td></tr>
}
</tbody>
</table>
}
}
मैं @if के साथ एक रनटाइम त्रुटि है कि कहते हैं मिलेगा। एक बार कोड के अंदर, आपको "if" जैसे "if" जैसी संरचनाओं को उपसर्ग करने की आवश्यकता नहीं है।
यदि मैं @ कोड को हटा देता हूं तो ठीक है। मुझे उम्मीद है कि एचटीएमएल के तुरंत बाद @ की आवश्यकता होगी। मुझे और क्या भ्रमित करता है कि मुझे नेस्टेड फोरैच से पहले @ की आवश्यकता है। यहां खेलने के नियम क्या हैं?
यहां एक समान प्रश्न है, लेकिन मैं अभी भी @if और @foreach के बीच के अंतर पर स्पष्ट नहीं हूं। http://stackoverflow.com/questions/4946334/razor-unexpected-foreach-keyword-after-character – Mattio