我有一个自定义控件,目前有条件地呈现内容:
<me:CustomControl>
<switch>
<if "expression is true">
<textbox id="Name" />
</if>
<if "expression is true">
...
</if>
<else>
<textbox id="Name" />
</else>
</switch>
</me:CustomControl>
我上面的例子没有逻辑意义,但直截了当。通过覆盖<if>
函数来评估GetChildControlType
标记。 <textbox>
内部<if>
在<if>
控件生成器中进行评估。
我想要做的是从集合中完全删除控件,或者更好的是,防止将Public Overrides Function GetChildControlType(ByVal tagName... ) As Type
的子控件添加到集合中。如果我尝试删除它们OnInit,我仍然会收到错误&#34; ID&#39; Name&#39;已被另一个控件使用。&#34;
我无法在:
中对它们进行评估CreateChildControls
因为我需要在其中的所有if和else上执行逻辑。
也许有更好的方法?
更新
即使覆盖{{1}},如果有多个具有相同ID的控件,即使我将这个东西分解为裸骨,也会出现编译错误。不确定我是否可以解决这个问题。