रेजर व्यू इंजन में @ पात्र बच जाता है


561

मैं एक इंजन ASP.NET MVC 3 साइट बना रहा हूँ जो रेजर को व्यू इंजन के रूप में उपयोग कर रहा है। रेज़र सिंटैक्स @चरित्र के साथ शुरू होता है उदा @RenderBody()। अगर मैं अपने cshtml पेज पर @test लिखता हूं तो यह मुझे पार्स एरर देता है

CS0103: वर्तमान संदर्भ में 'परीक्षण' नाम मौजूद नहीं है

मैं '' @ चरित्र से कैसे बचूँ?


1
C # में, आप खोजशब्दों के बजाय उन्हें चर नामों के रूप में व्यवहार करने के लिए एक @ के साथ खोजशब्दों को चिह्नित कर सकते हैं। मुझे पता है कि सभी के साथ, इस तरह से रेजर में आरक्षित खोजशब्दों का उपयोग करना असंभव है।
डेसपेयर की ग्रिम

1
@GrimaceofDespair अभी भी कीवर्ड को वैरिएबल के रूप में चिह्नित करने का तरीका है, दूसरे @को ब्रेसिज़ में संलग्न करना है । मैं इसे इस तरह से लिखकर काम @(@new)
करवाने में

जवाबों:


902

@@ करना चाहिए।


9
यह इस मामले में काम नहीं करता है: @RazorCodePart1 @@ @RazorCodePart2उदाहरण के लिए दो रेजर कोड स्निपेट के बीच एक शाब्दिक @।
जोश एम।

27
<text> </ text> या @:
Kasper Skov

89
सबसे अच्छा समाधान @ -चक्रकर्ता: & # 64 के लिए HTML-एन्कोडेड वर्ण स्ट्रिंग का उपयोग करना होगा;
WoIIe

9
मुझे <style>अपने रेजर पेज में एक टैग मिला है , जिसमें '@media {}' निर्देश को एम्बेड करना है, इसलिए html एन्कोडिंग कोई विकल्प नहीं है; केवल @@ काम करता है।
त्रिनको

12
Href में @ ("@") का उपयोग करें
Asiri Dissanayaka

145

रेजर @ बच चारो प्रतीकों को ...

<img src="..." alt="Find me on twitter as @("@username")" />

या

<img src="..." alt="Find me on twitter as @("@")username" />

3
यह तरीका सबसे अच्छा लगता है क्योंकि यह @media css स्टफ के लिए भी काम करेगा, जबकि HTML इकाई का तरीका शायद नहीं होगा।
क्रिसएफ

1
अच्छा! बहुत बहुत धन्यवाद :)
Ashkan Sirous

1
आपने इसे धन्यवाद दिया, धन्यवाद :)
पंकज पारकर

1
अच्छा काम किए। धन्यवाद।
ओरियन

1
महान, मुझे यह कोड सभी के लिए समझना आसान है
achecopar

39

उपयोग <text></text>या आसान तरीका है@:


यह अजीब है (साइन कॉलन पर) @: चरित्र अनुक्रम सिंटैक्स मेरे लिए काम नहीं करता है, क्योंकि मैं अपने ASP.NET MVC 3 प्रोजेक्ट को MVC4 में अपग्रेड करने का प्रयास करता हूं। मुझे जो अपवाद मिलता है वह है: "": "एक कोड ब्लॉक की शुरुआत में मान्य नहीं है। केवल पहचानकर्ता, कीवर्ड, टिप्पणियां," ("और" {"वैध हैं।"
माइकल आर

@ मायकिल अजीब है। उन्होंने इसे संस्करण 4. में निकाल दिया होगा
कास्पर स्कोव

हाय कैस्पर स्कोव, मैंने पाया @: मुद्दा वास्तव में @ से संबंधित नहीं था: बिल्कुल। यह @ आईआईएफ () {} ब्लॉक में अनावश्यक रूप से @Model का उपयोग करने से संबंधित था। मॉडल पर साइन ड्रॉप करने के लिए फिक्स था। मुझे पहले से ही सर्वर के दायरे में @ का उपयोग करने से बचने की आवश्यकता है। stackoverflow.com/questions/12809855/…
माइकल आर

38

@Html.Raw("@")लगता है मुझे और भी अधिक विश्वसनीय है @@, क्योंकि सभी मामलों @@में बच नहीं होगा।

इसलिए:

<meta name="twitter:site" content="@twitterSite">

होने वाला:

<meta name="twitter:site" content="@Html.Raw("@")twitterSite">

और मैं कई पैराग्राफ के साथ एक विशाल पाठ पर इसका उपयोग कैसे करूं? मैंने "के बजाय" के साथ प्रयास किया है, लेकिन परिणाम संदिग्ध है। रिक्त पंक्तियों पर कोई त्रुटि नहीं है, लेकिन चरित्र पर त्रुटि है।
EPurpl3

24

HTML इकाई के बजाय मैं का उपयोग पसंद करते हैं @Html.Raw("@")


12

@@ रेजर विचारों में @ के लिए पलायन चरित्र है जैसा कि ऊपर कहा गया है।

रेजर हालांकि तब काम करने की कोशिश करता है जब '@' सिर्फ '@' होता है और जहां यह C # (या VB.Net) कोड को चिह्नित करता है। इसके लिए मुख्य उपयोगों में से एक रेजर दृश्य के भीतर ईमेल पतों की पहचान करना है - यह ईमेल पते में @ चरित्र से बचने के लिए आवश्यक नहीं होना चाहिए।


मुझे रेज़र / वीबी.नेट और प्रिज्म का उपयोग करने का कोई तरीका नहीं मिला है। मैंने <a href="@Url.Action("Edit", "Antigen", "{{.ey .id = item.AntigenIdatalog)" class="btn-xs btn -primary"> संपादित करें </ /> के लिए उपरोक्त सभी आज़माए ए>
जोशेट्स 1980

8

के बारे में सवाल के लिए @RazorCodePart1 @@ @RazorCodePart2 , आपको अनुक्रम की आवश्यकता है:

@RazorCodePart1 @:@@ @RazorCodePart2

मुझे पता है, यह थोड़ा अजीब लगता है, लेकिन यह काम करता है और आपको कोड ब्लॉक के बीच शाब्दिक चरित्र '@' मिलेगा।


7

मुझे बस यही समस्या थी। मैंने अपने पाठ को @ के साथ एक चर घोषित किया।

@{
   var twitterSite = "@MyTwitterSite";
}

...

<meta name="twitter:site" content="@twitterSite">

यह मेरे लिए काम करने वाला और ओपन ग्राफ डिबगर्स के लिए मान्य होने वाला एकमात्र था।
सिप्रियन

4

यह काम मेरे लिए

<meta name="author" content="Alan van Buuren @("@Alan_van_Buuren")">

या यो का उपयोग कर सकते हैं: @@ Alan_van_Buuren

: डी



1

बस CSHTML फ़ाइल में एक चर जोड़ें var myVariable = @"@";

और इसे अपने लेआउट में जोड़ें <span class="my-class"><a href="@myVariale" target="_blank" >link text</a></span>


0

मैंने उपरोक्त सभी विकल्पों की कोशिश की और कोई भी काम नहीं किया। यह वही है जो मैंने किया था:

@{
    string str = @"[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$";
}

<td>Email</td>
<td>
   <input type="text" id="txtEmail" required name="email" pattern=@str /> 
</td>

मैंने एक स्ट्रिंग वेरिएबल बनाया और इसमें सभी RegEx पैटर्न कोड पास किए, फिर html में वैरिएबल का इस्तेमाल किया, और रेजर ने इसे ठंडा किया।


0

मुझे अपने प्लेसहोल्डर विशेषता के अंदर काम करने के लिए इनमें से कोई भी नहीं मिला, इसलिए मैंने xml विशेष चरित्र का उपयोग किया।

<input type="text" placeholder="fex: firstname&#64;lastname.com"/>

यहाँ और अधिक उदाहरण देखें। https://www.dvteclipse.com/documentation/svlinter/How_to_use_special_characters_in_XML.3F.html


1
मेरी जरूरत मेटा टैग में @ जोड़ने की थी। और यह ठीक काम करता है। @@ वहाँ काम नहीं करता है।
असिरी डिसनायका

0

वास्तव में @ रेजर सिंटैक्स कीवर्ड के साथ या किसी मान को बांधने के लिए चर / मॉडल के लिए उपयोग किया जाना चाहिए।

उदाहरण के लिए: यदि परीक्षण मान के साथ निर्दिष्ट किया गया है तो @ {var test = "ABC"} तब आप सेटिंग्स द्वारा मान प्राप्त कर सकते हैं जैसे @test html भाग में cshtml पेज है। अन्यथा, @ Html.DisplayName ("परीक्षण") के रूप में सरल उपयोग


0

मुझे पता है कि यह प्रश्न पुराना है, लेकिन मैंने उपरोक्त सभी की कोशिश की और इसने मुझे URL के अंदर ASP.NET फुल फ्रेमवर्क (MVC 5) में वर्ण "@" से बचने में मदद नहीं की। Terje Solem के जवाब के आधार पर, UTF-8 कोड%40 ने मेरे लिए काम किया। यह मूल URL है जो मैं पहुँचने का प्रयास कर रहा था:

https://unpkg.com/@google/markerclustererplus@4.0.1/dist/markerclustererplus.min.js

और इसमें कोड के साथ:

https://unpkg.com/%40google/markerclustererplus@4.0.1/dist/markerclustererplus.min.js
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.