質問

テストとして、作成した概念実証アプリをWebフォームからRazorに変換します。これは、評価できるようにするためです。

これまでに1つの問題が発生し、頭が痛くなっています。クライアント側のJavascriptを生成しています...

Webフォーム ジェネラコディセタグプレ

かみそりの構文 ジェネラコディセタグプレ

コンパイラは、「availableIds.push」行に次のエラーを表示します。

コンパイラエラーメッセージ:CS1525:無効な式の用語 '{'

明らかにC#としてコンパイルしようとしています...しかし、どうすれば停止できますか?

ありがとう、
キエロン

役に立ちましたか?

解決

疑似要素<text>でラップする必要があります。これにより、パーサーがhtmlモードに戻り、JavaScriptがc#ではなくhtmlの一部として解析されます。それが発生する理由は、@for()がc#ブロックであり、内部で処理されるものはすべて、htmlタグでエスケープされるまでc#と見なされるためです。おそらくhtmlタグは必要ないので、かみそりはモードを切り替えるために<text>タグを提供します。

asp.net Webフォームの違いに気付いた場合は、<% for行を%>で終了してc#モードを終了します。Visual Studio 2010用のかみそり蛍光ペン拡張機能をダウンロードすると、コードがコードとして扱われ、htmlがhtmlとして扱われる時期を確認するのに役立ちます。 ジェネラコディセタグプレ

最新バージョンに更新

さらに読みやすくするために、@:構文を使用できるようになりました ジェネラコディセタグプレ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top