能否将Razor Pages分部视图声明为internal?解决可访问性冲突
解决Razor Pages分部视图与internal模型的可访问性冲突问题
可以让Razor Pages生成器将分部视图生成为internal,有两种实现方式:
方式一:单视图单独配置
在分部视图文件的最顶部添加特性标记,指定生成的视图类为internal:
@attribute [System.ComponentModel.DataAnnotations.Schema.Internal] @model MyPartialModel <!-- 你的分部视图内容 -->
方式二:全局项目设置
如果需要让所有Razor Pages生成的类都默认变为internal,直接修改项目的.csproj文件,添加以下配置项:
<PropertyGroup> <RazorGeneratePublicClass>false</RazorGeneratePublicClass> </PropertyGroup>
报错原因说明
默认情况下,Razor Pages生成的视图类是public访问级别,但你的模型MyPartialModel是internal,这就导致基类RazorPage<MyPartialModel>的可访问性低于生成的视图类,触发了可访问性不一致的编译错误。将生成的视图类改为internal后,两者访问级别匹配,错误即可消除。
内容的提问来源于stack exchange,提问作者lonix
相关产品推荐
相关产品推荐

