Blazor Modal声明在编译时抛出CS8625



我正在使用Blazorise模态功能(如图所示(。我通过以下代码跟踪文档:

<Modal @ref="ModalRef1">
<ModalContent Centered>
<ModalHeader>
<ModalTitle>Sample Title</ModalTitle>
</ModalHeader>
<ModalBody>
<Field>
<FieldLabel>Sample Field Content</FieldLabel>
</Field>
</ModalBody>
<ModalFooter>
<Button Color="Color.Warning" Clicked="@HideModal1">OK</Button>
</ModalFooter>
</ModalContent>
</Modal>

使用以下实例声明:

@code{
private Modal ModalRef1 = new Modal();
}

出于某种原因,HMTL声明抛出一个";无法将null文本转换为不可为null的引用类型";每个HTML声明都有错误。考虑到我在整个项目中使用了很多模态对话框,你可以看到这会变得多么烦人。我该如何解决这个问题?#pragma warning disable CS8625不起作用,Modal C#类除了默认构造函数之外没有其他构造函数。

您只需使字段类型为null即可。

@code {
private Modal? ModalRef1;
}

您的项目可能在.csproj文件中有<Nullable>enable</Nullable>。此设置使所有类型都被视为不可为null,并且在希望它们接受null时必须显式。Modal的@ref属性接受Modal?参数,而您正在传递Modal。这就是你收到警告的原因。

相关内容

  • 没有找到相关文章

最新更新