Asp.net-Core
在區域視圖中使用 TagHelper
我花了最後一個小時重構使用區域,現在我所有的視圖似乎都沒有函式 taghelpers:/
這就是 Index.cshtml 中的內容
<div class="btn-group"> <a asp-controller="Survey" asp-area="Admin" asp-action="Create" class="btn btn-primary">Create New</a> </div>…這是呈現的 HTML:/
<div class="btn-group"> <a asp-controller="Survey" asp-area="Admin" asp-action="Create" class="btn btn-primary">Create New</a> </div>Intellisense 甚至不顯示 asp- 前綴,並且 asp- 屬性上的語法突出顯示也失去了。
其他 SO 問題引用“asp-route-area”,但這只是像其他問題一樣呈現逐字。
當它們在 ~/Views/Name/Index.cshtml 中時,這些都執行良好,將它們移出 ~/Areas/Name/Views/Name/ 和 nopers…
有什麼想法嗎?史蒂夫
根據官方文件:
@addTagHelper 指令使標籤助手可用於視圖。本例中視圖文件為Views/_ViewImports.cshtml,預設為Views文件夾及子目錄下的所有視圖文件繼承;使標籤助手可用。上面的程式碼使用萬用字元語法 (“*”) 來指定指定程序集 (Microsoft.AspNetCore.Mvc.TagHelpers) 中的所有標記幫助程序將可用於 Views 目錄或子目錄中的每個視圖文件。
如果每個區域使用一個佈局,要使用內置標籤助手,您應該
_ViewImports.cshtml在~/Areas/Name/Views/文件夾中添加(如果您使用不需要的共享佈局。請參閱MusicStore 項目以獲取共享佈局範例)。我猜您每個區域使用了一種佈局,而您沒有添加
_ViewImports.cshtml~/Areas/Name/Views/. 複製/Views/_ViewImports.cshtml到~/Areas/Name/Views/.