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 回答