|
|
1
5
我建议继续使用自定义渲染控件。我发现在大多数情况下,复合可以更容易地在UserControl中完成和使用,但除此之外,你还需要更精细的控制(双关语无意中)才能获得你自己的渲染策略。 可能有一些控件足够简单,值得进行组合(例如,文本框与基于javascript/dhtml的日期选择器相结合),但除此之外,自定义呈现的控件似乎是可行的。 |
|
|
2
3
这是我用于自定义渲染的另一种扩展方法:
然后,为了在RenderContents()方法中渲染自定义复合,我编写了以下代码:
|
|
|
3
2
罗布,你说得对。我提到的方法是一种混合方法。使用ascx文件的优点是,在我见过的每个项目中,设计师都会对编辑实际标记感到最舒服,而且你和设计师可以单独使用ascx。如果你不打算以后对控件本身进行实际的CSS/标记/设计更改,你可以使用自定义渲染控件。正如我所说的,我的方法只适用于更复杂的场景(这些场景可能是你需要设计师的地方:) |
|
|
4
1
我经常使用复合控件。不要覆盖Render或RenderContents,只需为每个控件分配一个CssClass并使用样式表。用于多个控件。添加,我使用扩展方法:
对于快速和脏的渲染,我使用这样的东西:
对于初始化控件属性,我使用属性初始化器语法:
|
|
|
5
1
在您有一个大型web应用程序并希望在许多地方重用大块的情况下,使用自定义复合控件是有道理的。然后,你只会添加你正在开发的子控件,而不是重复自己。 在我最近参与的一个大型项目中,我们做了以下工作:
事实上,您需要一个基类,它将负责使用指定的模板初始化容器,并在模板中找不到控件时抛出异常。当然,在小型应用程序中,这可能是一种矫枉过正的做法。如果你没有重用的代码和标记,只想编写简单的控件,你最好使用用户控件。 |
|
|
6
0
您可以使用此技术使设计时间更容易: http://aspadvice.com/blogs/ssmith/archive/2007/10/19/Render-User-Control-as-String-Template.aspx 基本上,您可以在运行时使用LoadControl方法创建用户控件的实例,然后给它一个某种状态包,然后将其附加到控件树上。因此,您的复合控件实际上更像是一个控制器,而.ascx文件则更像一个视图。 这将为您省去在C#中实例化整个控件树和设置控件样式的麻烦! |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |