2010-12-06 20 views
2

私は、一般的なユーザーコントロールを作成しようとしています。 したがって、ジェネリックパラメータを持つユーザーコントロールが必要です。ジェネリックのviewmodelコントロール(MVC)

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

コントロールは、Tが何であるかを本当に気にしません。それは私がコントロールをレンダリングするとき、私は一般的な引数を指定して、それをインスタンス化することができます任意のT.

で動作します。

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

それは基本的な考え方です。余分な総称引数を取るユーザーコントロールを作成する方法はありますか?私がそのようなものを作りたければ、どこから始めるのですか?

どのような考えですか?

答えて

1

あなたは.NET 4.0を使用している場合は、<%@Control %>宣言でIPager<object>を使用することができます。その後、共変ジェネリックのサポートは、あなたがRenderPartialでモデルとしてIPager<MyClass>それを渡すことができますし、それはまだうまく動作することを意味します。

+0

あなたは私がスタジオ2008年にこのアプローチを試みたが、それは動作しません、正しいです。共変型が必要です。私は、新しいフレームワークの使用を試み、動機付けます。それは2008年にはうまくいきません。 – Jim

関連する問題