2011-01-17 9 views
6
@using(Html.BeginForm()){ 
Name: 
    @Html.TextBoxFor(o => o.Name) 
     <input type="submit" value="submit" /> 
    } 

यह त्रुटि CS1002 प्रदान करता है:;रेज़र पूछता है; जब उपयोग कर रहे हैं (Html.BeginForm())

या अगर मैं इसे इस तरह करते हैं:

<form action="@Url.Action("AddHuman")" method="post"> 
Name: 
    @Html.TextBoxFor(o => o.Name) 
     <input type="submit" value="submit" /> 
</form> 

उत्तर

17

समस्या अपने Name: शाब्दिक साथ सबसे अधिक संभावना है

यह अगर मैं नाम हटाने से काम करता है उम्मीद। चूंकि आप कोड ब्लॉक के अंदर हैं, इसलिए रेजर मानते हैं कि अगली पंक्तियां कोड लाइन हैं। आप इसे Name:@: के साथ या <text></text> के साथ लपेटकर इसे से बच सकते हैं। टेक्स्ट टैग रेजर के लिए विशेष है और जब इसे व्यू इंजन द्वारा पार्स किया जाता है तो हटा दिया जाएगा।

कारण अपने <input> ठीक हो जाएगा उस्तरा स्वीकार करता है कि यह एक मार्कअप टैग और प्रतिक्रिया स्ट्रीम करने के लिए इसे बाहर लिखेंगे, Name: के साथ यह है कि कल्पना नहीं कर सकते, क्योंकि यह एक वास्तविक मार्कअप टैग नहीं है।

2

कभी-कभी रेज़र भ्रमित हो जाता है, इसलिए आपको अपने कोड को HTML टैग के अंदर लपेटने की आवश्यकता होगी। यदि आप अतिरिक्त एचटीएमएल टैग जोड़ना नहीं चाहते हैं क्योंकि रेजर इसे प्राप्त नहीं करता है, तो आप <text> का उपयोग कर सकते हैं जिसे हटा दिया जाएगा।

@using(Html.BeginForm()){ 
    <text> 
     Name: 
     @Html.TextBoxFor(o => o.Name) 
     <input type="submit" value="submit" /> 
    </text> 
} 
+0

आप @@ नाम भी कर सकते हैं: –

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