cshtml RazorビューでVS2015で異常な問題が発生しました。私はそれがカミソリのバグでなければならないと思うが、可能性がある場合は、サニティチェックと回避策の提案に感謝する。VS2015でASP.NET MVC Razorを使用しているときに中括弧が認識されない
この問題は、@{}
コードブロック内の中括弧が正しく解決されないことが原因です。私はif
文をforeach
ループ内に持っていて、中括弧を使用してif
アクションを囲むと、コンパイルエラーが発生します。面白いことに、else
ステートメントの後の中括弧はうまくいくようです。
これは、VSカラーコードで簡単に説明できますが、ここでは説明します。
この作品:
@{
var nestLevel = 0;
foreach (var t in xmlHelper.GetProperties(asm, ViewBag.xmlType, "root"))
{
var type = @t.Item3.PropertyType;
if (xmlHelper.builtInTypes.Contains(type.ToString()))
<p>@t.Item1 @t.Item2 @t.Item3.PropertyType</p>
else
{
nestLevel++;
}
}
} //VS shows the @{} code block ending here as expected
私は今、もしアクションの周りの中括弧を追加する場合は、それがコンパイルされません。
@{
var nestLevel = 0;
foreach (var t in xmlHelper.GetProperties(asm, ViewBag.xmlType, "root"))
{
var type = @t.Item3.PropertyType;
if (xmlHelper.builtInTypes.Contains(type.ToString()))
{
<p>@t.Item1 @t.Item2 @t.Item3.PropertyType</p>
}
else
{
nestLevel++;
}
} //VS now incorrectly shows the @{} code block ending here
}
任意の考え/提案を?
恐ろしいです。スクールボーイのエラー!ありがとうございました – ShhTot