【问题标题】:generic viewmodel control (MVC)通用视图模型控制 (MVC)
【发布时间】:2010-12-06 06:59:04
【问题描述】:

我正在尝试创建一个通用的用户控件。 所以我需要一个带有通用参数的用户控件。

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IPager<T>>" %>

控件并不真正关心 T 是什么。它适用于任何 T。

当我渲染控件时,我可以使用泛型参数对其进行实例化。

<%= Html.RenderPartial<MyClass>("Pager", Model); %>

这是基本思想——有没有办法制作一个需要额外通用参数的用户控件。如果我想构建这样的东西,我会从哪里开始?

有什么想法吗?

【问题讨论】:

    标签: model-view-controller view controls generics


    【解决方案1】:

    如果您使用的是 .NET 4.0,则可以在 &lt;%@Control %&gt; 声明中使用 IPager&lt;object&gt;。然后,协变泛型支持意味着您可以将 IPager&lt;MyClass&gt; 作为模型传递给 RenderPartial,它仍然可以正常工作。

    【讨论】:

    • 你是对的,我在工作室 2008 中尝试过这种方法,但它不起作用。您需要协变类型。我将尝试并激励使用新框架。可惜它不适用于 2008。它应该有。
    猜你喜欢
    • 2011-06-10
    • 2015-01-19
    • 1970-01-01
    • 2011-09-12
    • 2012-02-12
    • 2012-03-21
    • 1970-01-01
    • 2012-11-08
    • 2013-12-06
    相关资源
    最近更新 更多