【问题标题】:Shady practice with a web control使用 Web 控件进行阴暗练习
【发布时间】:2013-04-04 17:58:14
【问题描述】:

我创建了一个自定义 Web 控件,我必须将其嵌入到 SharePoint 内的页面布局中。 基本上,页面布局只会被内部带有网络表单的页面使用,并且控件充当一种导航菜单来跟踪表单页面的进度。

现在,我知道该控件将始终只声明一次,并且它必须可以被表单页面访问。我没有从表单页面中查找父级的控件集合,而是这样做了。

    public static QuickNavigation Self
    {
        get
        {
            return System.Web.HttpContext.Current.Items["QuickNavigation"] as QuickNavigation;
        }
        private set
        {
            System.Web.HttpContext.Current.Items["QuickNavigation"] = value;
        }
    }

    public QuickNavigation()
    {
        Self = this;
    }

为了从表单页面访问控件实例,我调用了类的唯一静态属性。你怎么看,有没有更好的做法?

【问题讨论】:

    标签: c# asp.net sharepoint-2010 web-controls


    【解决方案1】:

    它可以工作,但在我看来,需要一个控件的引用才能在其他控件中拥有一些业务逻辑,这似乎很奇怪。

    您是否考虑过将您的代码分离为一些服务,例如业务控制器和单独的 UI 视图。在这种情况下,您将所有 UI 视图插入到业务控制器中,并且不需要任何控件来控制引用。 在这种情况下,分享您的状态的最佳位置是 Items 集合,这样您就可以保持这种做法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-10
      • 1970-01-01
      • 1970-01-01
      • 2018-10-25
      • 2018-04-12
      • 2014-08-07
      相关资源
      最近更新 更多