Asp.net在设计时从父表单设置自定义UITypeEditor的上下文

时间:2012-11-30 19:02:12

标签: asp.net visual-studio design-time uitypeeditor

尝试为我们的设计师设计一种方法,为我们的客户创建自定义的asp.net webforms。基本思想是我们有一组可以保存的一般字段,每个客户使用这些字段的子集,每个客户可能拥有类似概念的自己的名称(即一个客户可能使用'患者'而另一个'客户' “)。保持客户背景将有助于设计人员构建正确的表格以满足客户的需求。

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

作为第二个问题,我该如何调试这些编辑器?编辑器中存在Web上下文的期望,但没有asp.net属性网格。即使有,编辑器也是不能在浏览器中运行的winforms组件。

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

1 个答案:

答案 0 :(得分:0)

我解决了这些问题,并在此处发布,以防通用解决方案对将来的任何人都有用。

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

至于调试。一些重构让我到了一个可以轻松交换我的实现的webforms特定部分进行测试的地方。