每当我试图从一个位于shared/components文件夹结构下的任意位置的razor页面中指定视图组件时,我都会收到一个错误。例如,shared/components/UserCRUD/{mycomponent}将无法工作。请参见下面的图片:
注意,我也用typeof()和nameof()尝试过这个方法,智能感知可以正确地识别子文件夹下的正确位置。
我的相关文件夹结构:
我正在使用的命名空间。请注意,我也尝试过用“ViewComponent”后缀来命名它。
最后是异常,最奇怪的是异常并不查看我交给它的路径,它完全忽略了UserCRUD。
1条答案
按热度按时间k10s72fa1#
您的文件夹设置与默认的视图位置格式不匹配。
即使调整这些似乎也不起作用-- * 或者至少我没有成功 *。
固定值和预定义的占位符(
{0}
视图名称、{1}
页面名称)的组合似乎不能给予预期的结果;Components
段总是自动添加。下面确实管用。
在
AdminDashboard/Index.cshtml
中,包括UserTable
组件,如下所示。调整
UserTable.cs
中的UserTable
组件,方法是返回相应视图的完整路径,即/Areas/Identity/Pages/Shared/Components/UserCRUD/UserTable/UserTable.cshtml
。您必须对
UserCRUD
文件夹中的其他视图执行类似的操作。