Asp.net在设计时从父窗体为自定义UITypeEditor设置某些上下文

Asp.net在设计时从父窗体为自定义UITypeEditor设置某些上下文,asp.net,visual-studio,design-time,uitypeeditor,Asp.net,Visual Studio,Design Time,Uitypeeditor,试图为我们的设计师设计一种为我们的客户创建自定义asp.net webforms的方法。基本思想是,我们有一组可以保存的通用字段,每个客户使用这些字段的子集,每个客户可能有自己的相似概念名称(即一个客户可能使用“patient”,另一个客户可能使用“customer”)。保持在客户环境中有助于设计师构建正确的表单以满足客户需求 现在要做到这一点,我需要尽可能多地进入设计体验。我有一组自定义控件,这些控件是从基本控件(如asp:TextBox)派生的,并实现了一个接口,允许我迭代这些控件并从数据存

试图为我们的设计师设计一种为我们的客户创建自定义asp.net webforms的方法。基本思想是,我们有一组可以保存的通用字段,每个客户使用这些字段的子集,每个客户可能有自己的相似概念名称(即一个客户可能使用“patient”,另一个客户可能使用“customer”)。保持在客户环境中有助于设计师构建正确的表单以满足客户需求

现在要做到这一点,我需要尽可能多地进入设计体验。我有一组自定义控件,这些控件是从基本控件(如asp:TextBox)派生的,并实现了一个接口,允许我迭代这些控件并从数据存储中插入值,或者获取要持久化的值(完成)。所有这些控件都需要绑定到我的记录对象中的数据点。我已经设置了一个元数据系统来允许绑定,但我遇到的麻烦是将可用字段列表放入UITypeEditor。也就是说,我还没有弄清楚如何(在设计时)在表单上设置客户上下文,然后在每个控件自定义属性编辑器上访问和使用该值(也是在设计时)。这可能吗?我是否以错误的方式看待这个问题?一个表单总是有一个且只有一个客户上下文。因此,在我的表单项目中,每个表单都将设置不同的客户id

第二个问题是,如何调试这些编辑器?编辑器中需要web上下文,但没有asp.net属性网格。即使有,编辑器也是winforms组件,不会在浏览器中运行


如果代码简化了问题,我可以包含我目前拥有的代码,但即使是一个简化的示例也有六个类。

我解决了这些问题,在这里发布,以防将来有一个通用的解决方案对任何人都有用

我可以通过另一种方式稍微绕过这个问题。我的父页面迭代它的控件,并在实现特定接口的所有控件上设置CustomerId

至于调试。通过一些重构,我可以轻松地将实现中特定于webforms的部分替换出来进行测试