2011-02-01 18 views
3

それは私がカミソリに知っている...句読点をGoogleで検索するASP.NET MVC3 Razor - @ *は何をしますか?

かなり難しいので@は、コードブロックを開始しますが、@*は何をするのでしょうか?私がVSで言うことができる限り、それはコメントブロックを開始します。それが/*と異なる場合はどうですか?

+0

'@:'は事前にエンコードされたHTMLではありません。それは、マークアップコンテキスト内で遭遇した次の改行文字まで、マークアップモードに切り替えるためのRazorパーサーへの指示です。 – marcind

+0

@marcind私は誤解しました。それを反映するように変更された質問。 –

答えて

6

* @は、サーバー側のコメントです

<p> 
    /* comment 1 */ 
    @* comment 2 *@ 
    <!-- comment 3 --> 
    @{ /* comment 4 */ } 
</p> 
サーバーモードではないため、

コメント1は機能しません。/*はHTMLコメントではないので、そのコードはブラウザに送信され、ブラウザに表示されます。

コメント3がクライアントに送信されます。そして、@ブロックが含まれていると、サーバー上で解析され実行されると私は思っています。

コメント2と4は送信されません。 Nr 4はちょっと醜いです。

1

から: http://www.asp.net/webmatrix/tutorials/2-introduction-to-asp-net-web-programming-using-the-razor-syntax

ASP.NETカミソリのコメントについては、あなたは、@ *とのコメントを開始し、* @で終了します。コメントは、1行または複数行にすることができます。

/* */はコメント用のC#構文なので、/*はブロック<% %>内からのみ適用されます。ブロック<% %>の外側から@*と書くことができます。 ので、代わりの

<% /* This is 
a multiline comment */ %> 

のようなコメントを書いてそれはのように書くことができます:あなたはこのようなコードがある場合

@* This is 
a multiline comment *@ 
+0

+1ですが、/ *は@ {}ブロックの内部で動作します(もちろん、剃刀は<% %>を使用しません)。 –

関連する問題