我需要接受来自用户的对象列表:
public async Task<IActionResult> CreateArticle(List<InformationBlockModel> informationBlocks)
{
...
}
Run Code Online (Sandbox Code Playgroud)
ModelBinder应该确定具体的类型,但是当我尝试将InformationBlock转换为TextInformationBlock时,抛出异常.
层次:
public class InformationBlockModel
{
public virtual InformationBlockType Type { get; set; }
}
public class TextInformationBlockModel : InformationBlockModel
{
public string Text { get; set; }
public override InformationBlockType Type { get; set; } = InformationBlockType.Text;
}
public class ImageInformationBlockModel : InformationBlockModel
{
public override InformationBlockType Type { get; set; } = InformationBlockType.Image;
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)