【发布时间】:2014-08-16 18:42:27
【问题描述】:
问题背景:
大家好,我已经为我的雇主开发 Windows 表单应用程序大约 3 年了。虽然我的大部分作品都是业余的。我一直在使用 Visual Studio、C#,喜欢通过子类和其他技术创建可重用的 Windows 窗体控件。现在老板要我为这家公司做网站,我脑子里的第一个念头就是像windor窗体应用一样创建可重复使用的WEB控件。
我尝试过的方法
Web用户控制,一开始我找Visual Studio支持开发者创建
Web User Control,文件扩展名为*.ascx。发现这一点让我非常兴奋,因为我认为我可以像在 Windows 窗体应用程序开发中一样创建 Web 控件。但是,这是一个很大的“BUT”,然后我发现它不能嵌入到程序集文件(DLL)中,也不能在网页设计时显示在工具箱中支持拖放。来自 msdn 的 AFAIK,Web User Control不打算跨项目重复使用。所以我放弃了这个方法。Server Control,然后发现有
Custom Server Control可以创建支持Assembly embed和ToolBox。它是一个 *.cs 文件,使用从System.Web.UI.WebControls.WebControl或System.Web.UI.WebControls.CompositeControl子类化的类编写。好的一点是,这正是我想要的:可重用性和设计时支持。但是,最大的缺点是它在创建 Web 控件本身时不支持拖放。该控件只能通过c#编写的html呈现或通过代码创建。如果我想创建更漂亮、更复杂或更高效的控件,我必须将 css/javascript 嵌入到控件中。无论如何,来自 MSDN,Server Control是我需要的。纯 HTML、Javascript (jQuery)、CSS,实际上我一直在使用
Server Control方法一段时间,只是为了让我的老板开心。但我仍然无法停止思考其他更好的解决方案。据我了解,网页并没有那么复杂,它只是由HTML tag、javascript (or other scripting language)、CSS to manipulate UI构建的(如果我错了请纠正我)。所以我相信如果我用纯 Html、Javascript 和 CSS 创建 web 控件,它当然会更复杂但更兼容。因为Server Control解决方案需要Web 服务器支持.Net Framework,它不是免费的并且仅限于Microsoft 范围。如果我有办法摆脱 .Net,为什么不呢?如果值得的话,我愿意花双倍的时间来创建可重用控件。例如,如果我想使用 PHP 来创建网页,我可能需要掌握通过 HTML、Javascript 和 CSS 来创建 Web 控件的技术。
我的问题
综上所述,是否可以仅基于 Html、Javascript 和 CSS 创建我的 Web 控件库?
如果有,有这个方法的教程吗?
我很想知道商业/专业公司如何创建网页。
谢谢大家,任何建议将不胜感激!
【问题讨论】:
-
查看现有的,如 dojo、yui、jqui、extjs 等,并确保您了解 html5 内置的所有好东西,如滑块、
标签: javascript php html css asp.net