3

我正在尝试编写一个 html 帮助程序,我想在其中迭代作为通用列表的已知类型属性,并输出所需的 HTML 内容。这是我如何构建视图模型以确保任何视图模型都符合帮助程序的概述;

接口定义:

public Interface ITheViewModelInterface<T> where T : class
{
    IEnumerable<T> Items { get; set; }
}

具体的抽象接口实现(以便我可以定义默认值):

public abstract class TheConcreteViewModelImplementation<T> : IViewModelInterface<T> where T : class
{
    public virtual IEnumerable<T> Items { get; set; }
}

视图模型:

public class TheViewModel : TheConcreteViewModelImplementation<MyListType>
{ 

}

什么是帮助程序定义,以便我可以访问基类中正确键入的项目列表?我不完全确定在这种情况下我需要一个强类型的助手,但我如何在助手调用中显式传递项目类型?

4

1 回答 1

0

在对这个问题进行了更多研究之后,我发现这个讨论为我的问题提供了一些答案(以及微软的一个相当惊人的声明!);

ASP.NET MVC 3 HtmlHelper 异常无法识别继承接口上的 ModelMetadata

于 2013-04-25T08:45:13.713 回答