在mvc4中创建通用mvc视图

mms*_*ann 2 c# generics asp.net-mvc-4

我之前提出过类似的问题,没有答案.

如何创建可以显示传递给它的列表或单个模型的通用mvc4视图.model可以是Person,Organization或Party,无论传递给它的是什么.

Nin*_*Nye 7

如果您正在寻找类似的东西:

@model MyViewModel<T> where T : IViewModel
Run Code Online (Sandbox Code Playgroud)

......然后Razor不支持.

你可以使用这样的东西:

@model MyViewModel<IViewModel>
Run Code Online (Sandbox Code Playgroud)

...这样你就可以定义所有可以传递的类型,如下所示

public class Person : IViewModel { ... }
public class Organisation : IViewModel { ... }
public class Party : IViewModel { ... }
Run Code Online (Sandbox Code Playgroud)