我有两个aspx页面:A.aspx和B.aspx。 这些页面只有一种方法Calculate()。
每个页面都包含用户控件C.ascx。
如何在C.ascx中调用方法Calculate?
我找到了一种方法,但这很脏:
A pageA = this.Page as A;
if (page == null) {
B pageB = this.Page as B;
pageB.Calculate();
}
else {
pageA.Calculate();
}
如何改进此代码?
我每页有2个区块。我检查usercontrol中的条件,如果条件为true,我想在页面中隐藏usercontrol并显示另一个div。也许我可以用其他方式重写代码?
答案 0 :(得分:1)
在这种情况下,看来您的设计是错误的,您应该在用户控件中而不是页面中使用Calculate()
方法。实际上,您应该在容器页面中使用用户控件。
另一种方法是将该方法重构为一个单独的类,因此您可以在用户控件和页面中重复使用该方法。