【问题标题】:Generic user control in ASP.NET?ASP.NET 中的通用用户控件?
【发布时间】:2013-06-15 09:16:56
【问题描述】:

我目前正在开发一个 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,但我遇到了一些困难。

【问题讨论】:

    标签: c# asp.net user-controls


    【解决方案1】:

    如果这些属性和方法都被用户控件所利用,那么这样怎么样:

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

    然后在构建用户控件时:

    public class YourUserControl : MyBaseUserControl
    

    MyBaseUserControl 可以驻留在程序集某处的基本.cs 文件中。此外,我将MyBaseUserControl 列为abstract 的唯一原因是因为它严格构建为继承自。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-10
      • 1970-01-01
      • 2012-08-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多