Razor View構文はHTML属性の「@」を認識しません
-
09-10-2019 - |
質問
MVC 2からMVC3およびRazor View Engineにプロジェクトを移行しています。
MVC 2では、次のHTMLがあります。
<div id="del_<%= Model.ActivityID.ToString() %>"></div>
Razorを使用するとき、私は次のことを試しました。これは、del_1が必要なときにリテラルテキスト「del_@model.activityId.toString()」をレンダリングしました。
<div id="del_@Model.ActivityID.ToString()"></div>
この問題を回避するために、私は使用しました:
<div id="@Model.ActivityID.ToString()_del"></div>
この構文でかみそりを機能させるために離れていますか?
<div id="del_@Model.ActivityID.ToString()"></div>
解決
使用する必要があります @()
あなたの特定のモデル値の周りでそうです:
<div id="del_@(Model.ActivityID.ToString())"></div>
この理由は、 del_@Model.ActivityID
パーサーへのメールアドレスのように見え、デフォルトではパーサーは電子メールアドレスを無視しようとしますので、愚かなことをする必要はありません john@@doe.com
電子メールは十分に一般的であるため、毎回やるのが面倒です。そのため、Razorパーサーに取り組んでいる人々は、「電子メールのように見える場合は、無視してください」と考えました。だから、あなたはこの特定の問題を抱えている理由です。
他のヒント
<div id="del_@(Model.ActivityID.ToString())"></div>
トリックが表示されなかった場合に備えて、使用してください @( )
所属していません StackOverflow