2010-07-21 19 views
0

我写了两个控件扩展器,需要始终按照相同的顺序放置。有没有什么办法可以使VS始终按照正确的顺序放置它们?有没有办法强制添加到相同控件的扩展器的特定顺序?

我发现的唯一解决方案是将它们放置在一个中央存储库中,并在其init阶段锁定目标控制ID - 然后让它们中的每一个通过该存储库而不是直接执行其工作。但对我来说这看起来像一个非常复杂的解决方案。

任何人有更好的主意吗?

回答

1

当您包含一个控件扩展器时,是否总是包含其他控件?如果是的话,你把它们合并成一个,那么它们之间的依赖关系就被删除了?或者你可以创建一个使用两个独立控件扩展器的包装控件扩展器。我们用范围类型输入做到这一点,其中需要有开始和结束字段。

+0

使用一个或另一个决定是完全独立的 - 它是不是其中一个总是包括其他的(在这种情况下,一个简单的继承会整理出来 让我有点填写详细信息 两扩展程序对目标控件上的预渲染事件作出反应 - 并更改该控件的属性,以实现生成的html而不影响存储在视图页或会话中的数据。两个扩展程序都以不同的方式影响SAME属性(Text属性例如一个目标标签) - 所以它们之间的顺序是至关重要的 – 2010-07-22 07:11:54

+0

问题是,要对PreRender做出反应,他们需要在代理中注册自己 - 而且.net没有为不同的函数注册到同一个代表将被调用。 所有我的测试如此皮草显示,实际的顺序是注册顺序 - 但我甚至不能依靠,因为我不知道什么顺序开发人员添加了两个扩展在 – 2010-07-22 07:16:39

+0

,所以我看到3个选项: *使用的东西否则除了扩展程序来做到这一点 *在框架 *将每个扩展器发布一些订单/优先级值*让我的扩展器以不同的方式执行他们的工作(不使用代表) 其他人有解决方案吗? – 2010-07-22 07:17:25

相关问题