我创建了一个自定义Web控件,我必须将其嵌入到SharePoint内部的页面布局中。 基本上,页面布局将仅由内部具有webforms的页面使用,并且控件充当一种导航菜单以跟踪表单页面进展。
现在,我知道控件将始终只声明一次,并且必须可以通过表单页面访问。而不是从表单页面中查找父级的控件集合,我已经完成了这个。
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;
}
要从表单页面访问控件实例,我调用该类的唯一静态专有权。您如何看待,有更好的做法吗?
答案 0 :(得分:1)
它可以工作,但是对于我来说,需要引用控件以在其他控件中使用某些业务逻辑似乎很奇怪。
您是否考虑将代码分离为某些服务,例如业务控制器和单独的UI视图。在这种情况下,您将所有UI视图插入业务控制器,并且您不需要任何控件来控制引用。 在这种情况下,分享您的州的最佳位置是项目集合,以便您可以保留练习。