2017-08-13 31 views
1

我是通過Cloudscribe「剝皮」博客引擎SimpleContent,並在本地複製了必要的部分視圖,以便對HTML進行編輯控制。有兩個視圖讓我在運行時出錯,即ArvhieListPartial.cshtml和CategoryListPartial.cshtml。在CloudScribe中使用本地cshtml文件時編譯錯誤SimpleContent

的錯誤是在兩個相同的,而在其他任何博客相關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 < string,int>。密鑰不能像方法一樣使用。

我注意到,這兩個部分的意見是它的頂部有類似這樣的引用唯一的:

@model Dictionary<string, int> 

我使用Visual Studio 2017年版15.2(26430.16)

回答

2

我認爲這是因爲你刪除了這些空間

@cat.Key.Replace("/", "-")(@cat.Value) 

原始視圖有一個空間,但通過刪除它razo r正在解釋(像方法簽名的開始,而不是字面文本,因爲它只是一個字符串屬性,所以它會拋出這個錯誤,因爲它解釋你正在使用它像一個方法

+0

輝煌,答案是完美的。爲了找出空間如何消失,我重複了我從ArchiveListPartial.cshtml複製'標記'並將其粘貼到我自己的空文件ArchiveListPartial.cshtml中的操作 - Visual Studio再次取出了該空間。在CategoryListPartial中也發生過同樣的情況。當我運行起來,我會用這個和其他的發現來編寫一篇文章。再次感謝,愛編碼 –