我来自ASP.Net MVC背景,所以我喜欢设计好的东西。我刚开始重新回到ASP.Net网络表单,因为我的工作需要它。
我有一个用户控件,我想用它来封装整个组件(布局和代码)。根据此控件的某些设置,布局可能会发生变化,或者我可能会调用事件等......这样做是不错的做法?
<%#if(this.SomeProperty)....%> 或<%#if(this.something)this.runSomeMethod())%>
我不知道什么是关于网络用户控件的好设计。
答案 0 :(得分:6)
由于这是相当主观的,我将给出你的主观意见:除非极少数情况下,我更喜欢使用代码隐藏来驱动控制和页面逻辑。我不介意"标记汤"本身,但我认为用适当的代码做所有事情要清楚得多。当你有代码隐藏时,你也可以获得一个具体类来引用的好处,这在很多方面很有用,特别是在大型项目中。
那就是说,你所做的事情没有根本错误。
答案 1 :(得分:2)
同意kprobst。我们团队的最佳实践包括避免在aspx文件中使用任何类型的服务器端代码(数据绑定调用除外)。任何业务或页面逻辑都可以更加整齐地组织在后面的代码上。
经典ASP,ColdFusion和PHP很难避免使用标签汤。 ASP.NET很容易避免。