为什么Resharper在这里期待一个闭合支撑?

时间:2015-01-09 10:30:09

标签: c# asp.net-mvc-5 resharper-8.2

对于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期待大括号

为了避免计数,第18行位于文件的末尾。

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

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

1 个答案:

答案 0 :(得分:1)

原来这个解决方案真是偷偷摸摸,在这篇文章中缺少一个斜线:

@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 =&#34; @TempData [&#34; SELECTED_MODE&#34;]&#34;的 / &GT;