Razorをビューエンジンとして使用して、サンプルのASP.NET MVC 3サイトを作成しています。かみそりの構文は、@
文字などで始まります@RenderBody()
。私のcshtmlページに@testを書くと、解析エラーになります
CS0103:「test」という名前は現在のコンテキストに存在しません
「@」文字をエスケープするにはどうすればよいですか?
@
を中括弧で囲むことです。私はこれを次のように書くことでなんとか機能させることができました:@(@new)
Razorをビューエンジンとして使用して、サンプルのASP.NET MVC 3サイトを作成しています。かみそりの構文は、@
文字などで始まります@RenderBody()
。私のcshtmlページに@testを書くと、解析エラーになります
CS0103:「test」という名前は現在のコンテキストに存在しません
「@」文字をエスケープするにはどうすればよいですか?
@
を中括弧で囲むことです。私はこれを次のように書くことでなんとか機能させることができました:@(@new)
回答:
@@
それを行う必要があります。
@RazorCodePart1 @@ @RazorCodePart2
たとえば、2つのRazorコードスニペット間のリテラル@。
<style>
HTMLエンコードはオプションではありませんので、「@media {}」ディレクティブを埋め込むために持っている私のかみそりのページにタグを。@@のみが機能します。
Razor @エスケープ文字を記号に...
<img src="..." alt="Find me on twitter as @("@username")" />
または
<img src="..." alt="Find me on twitter as @("@")username" />
使用<text></text>
またはより簡単な方法@:
@Html.Raw("@")
@@
すべてのケースで@@
脱出できるわけではないので、私には、より信頼性が高いようです。
したがって:
<meta name="twitter:site" content="@twitterSite">
だろう:
<meta name="twitter:site" content="@Html.Raw("@")twitterSite">
@@は、上記のRazorビューでの@のエスケープ文字です。
しかし、Razorは、 '@'が単なる '@'であり、C#(またはVB.Net)コードをマークしている場合に解決しようとします。これの主な用途の1つは、Razorビュー内で電子メールアドレスを識別することです。電子メールアドレスの@文字をエスケープする必要はありません。
私は同じ問題を抱えていました。@を使用してテキストを配置する変数を宣言しました。
@{
var twitterSite = "@MyTwitterSite";
}
...
<meta name="twitter:site" content="@twitterSite">
このために@@を使用できます。お気に入りvar email = firstName + '\@@' + domain;
上記のオプションをすべて試しましたが、どれもうまくいきませんでした。これは私がうまくいったことです:
@{
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で変数を使用しました。Razorはそれでクールでした。
これらをプレースホルダー属性内で機能させることができなかったため、xml特殊文字を使用しました。
<input type="text" placeholder="fex: firstname@lastname.com"/>
その他の例については、こちらをご覧ください。 https://www.dvteclipse.com/documentation/svlinter/How_to_use_special_characters_in_XML.3F.html
私はこの質問が古いことを知っていますが、上記のすべてを試しましたが、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