我正在通过Cloudscribe“剥离”博客引擎SimpleContent,并在本地复制必要的部分视图,以便对编辑控制html。有两个视图在运行时出现错误,即ArvhieListPartial.cshtml和CategoryListPartial.cshtml。
两者中的错误相同,并且在任何其他博客相关的cshtml页面中都不存在:
<li>
<a asp-route="@blogRoutes.BlogArchiveRouteName"
asp-route-year="@cat.Key.Substring(0,4)"
asp-route-month="@cat.Key.Substring(5,2)">@cat.Key.Replace("/", "-")(@cat.Value)</a>
</li>
@cat.Key
是错误点,浏览器报告:
非可调用成员KeyValuePair&lt; string,int&gt;。密钥不能像方法一样使用。
我注意到这两个部分视图是唯一一个在顶部有引用的视图:
@model Dictionary<string, int>
我正在使用Visual Studio 2017版本15.2(26430.16)
答案 0 :(得分:2)
我认为这是因为你删除了这些
之间的空格@cat.Key.Replace("/", "-")(@cat.Value)
原始视图在那里有一个空格但是通过删除它,razor正在解释(就像方法签名的开头而不是文本文本,因为它只是一个字符串属性,它会抛出此错误因为它解释你正在使用它像方法