【发布时间】:2015-01-06 11:54:43
【问题描述】:
我有一种情况,我需要为 Web 用户控件提供两种完全不同的布局,但控件的代码隐藏保持相同非常重要。
有什么方法可以为两个不同的 Web 用户控件使用相同的代码隐藏?我尝试将 Page 指令更改为使用相同的类,但偶尔在构建时,会生成带有重复控件的 .designer.cs 文件,因此会出现编译错误。
我也尝试过从一个公共基类继承,但是你看不到这个类的任何控件,这使得采用这种方法非常困难。
或者有没有办法防止为“克隆”控件重新生成 Designer.cs 类?
【问题讨论】:
-
代码隐藏中有很多业务逻辑吗?如果是这样,是否可以将其放在单独的类中并由代码隐藏用于您的两个用户控件?
-
不是“业务逻辑”本身 - 而是验证控件和处理输入等工作。因为此代码大量访问控件,并且您无法从基类中看到控件,所以我没有认为这将是解决问题的一个很好的方法:(
-
您可以创建一个包含包含验证逻辑的方法的静态类,而不是基类。这些方法将作为参数传递给您的控件的引用。
标签: c# asp.net webusercontrol