为什么 Resharper 期望这里有一个右括号?

Why does Resharper expect a closing brace here?

对于 C# MVC 5 应用程序,我们有以下部分视图:

@using some.using.here
@using some.using.here
@using some.using.here

@{
    var treeItem = TempData["SELECTED_TREEITEM"] as ITreeItem;
    string path = treeItem.GetIdPath(TempData.GetParentId());
    User user = Session["somesessionkey"] as User;
}

<!-- Selected item from URL -->

@if (treeItem != null)
{
    <input type="hidden" id="routeData" data-key="@treeItem.Key" data-treepath="@path" data-area="@TempData["SELECTED_AREA"]" data-mode="@TempData["SELECTED_MODE"]">
}
<input type="hidden" id="defaultAsset" data-default="@(user != null ? (user.DefaultAsset != null ? methodcall(value).ToString() : string.Empty) : string.Empty)" />
<input type="hidden" id="newPeriodHrs" data-newperiodhrs="@(user != null ? user.NewPeriodHrs : 48)" />

但是,无论我做什么,Resharper 都会不断抱怨并显示以下消息:

Views\Shared\_RouteData.cshtml:18 Closing brace expected

为了避免计数,第 18 行在文件末尾。

与 Resharper 的建议相反,整个项目编译并运行良好。 但是我还缺少某种语法问题吗?或者在这种情况下 Resharper 完全错误? 我是 运行 Resharper 8.2(C# 版)。

(请原谅我试图从代码中删除敏感信息的拙劣尝试,我保留了所有大括号等)

原来这个解决方案真的很狡猾,这一段少了一个斜线:

@if (treeItem != null)
{
    <input type="hidden" id="routeData" data-key="@treeItem.Key" data-treepath="@path" data-area="@TempData["SELECTED_AREA"]" data-mode="@TempData["SELECTED_MODE"]">
}

它应该是这样的:data-mode="@TempData["SELECTED_MODE"]" />