通用视图模型控制 (MVC)

发布于 2024-10-06 08:45:22 字数 399 浏览 3 评论 0原文

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

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

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

当我渲染控件时,我可以使用通用参数实例化它。

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

这就是基本思想 - 有没有办法让用户控件需要额外的通用参数。如果我想建造这样的东西,我会从哪里开始?

有什么想法吗?

I am trying to create a generic user control.
So I need a user control with a generic parameter.

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

The control doesn't really care what the T is. It works with any T.

When I render the control, I can instantiate it with the generic argument.

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

That's the basic idea - is there any way to make a user control that takes an extra generic argument. If I wanted to build such a thing, where would I start?

Any thoughts?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凉宸 2024-10-13 08:45:22

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

If you are using .NET 4.0, you can use IPager<object> in the <%@Control %> declaration. Then, the covariant generics support means that you can pass it an IPager<MyClass> as a model in RenderPartial and it will still work just fine.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文