1

現在、ASP.NET アプリケーションを開発しており、特定のページの動的なタブ/ユーザー コントロール構造を作成したいので、特定のタブとそのユーザー コントロールを動的に表示できます。

この中のすべてのコントロールは、すべて同じプロパティ (JobID と RevisionID) を持ちます。これを各コントロールの ViewState に格納することを考えていましたが、次のことを不必要に繰り返したくありません。

public long? JobID { get { return ViewState["JobID"] != null ? (long)ViewState["JobID"] : (long?)null; } set { ViewState["JobID"] = value; } }
public long? RevisionID { get { return ViewState["RevisionID"] != null ? (long)ViewState["RevisionID"] : (long?)null; } set { ViewState["RevisionID"] = value; } }

また、すべてのユーザー コントロールからアクセスできるようにしたいメソッドがいくつかあるかもしれません。これを達成する最善の方法は何ですか?インターフェイスまたは抽象クラスのいずれかを考えていますが、インターフェイス/抽象クラスで ViewState にアクセスできるようにする必要があると思いますが、これには問題があります。

4

1 に答える 1

0

これらのプロパティとメソッドがすべてユーザー コントロールによって活用されている場合、次のようにします。

public abstract class MyBaseUserControl : UserControl
{
    // shared properties and methods
}

そして、ユーザーコントロールを構築するとき:

public class YourUserControl : MyBaseUserControl

は、アセンブリ内のどこかにMyBaseUserControlある基本ファイルに置くことができます。.csさらに、MyBaseUserControlasをリストした唯一の理由abstractは、厳密に継承されるように構築されているためです。

于 2013-06-15T09:21:45.547 に答える