问题背景
大家好,我一直在为我的雇主开发Windows表单申请大约3年。虽然我的大多数作品都是业余的。我一直在使用visual studio,c#,喜欢通过子类和其他技术创建可重用的窗体控件。现在我的老板要我为这家公司制作网站,我脑海中的第一个想法是创建可重复使用的WEB控件,就像windors form application一样。
我尝试过的方法
网络用户控制,最初,我发现visual studio支持开发人员创建Web User Control
,文件扩展名为* .ascx。我很兴奋找到这个因为我认为我可以像在Windows窗体应用程序开发中那样创建Web控件。但是,它是一个非常大的“BUT”,然后我发现它不能嵌入到汇编文件(DLL)中,也可以在ToolBox中显示它以支持拖放网页设计时间。来自msdn的AFAIK,Web User Control
不打算在项目中重复使用。所以我放弃了这种方法。
服务器控制,然后我发现可以创建Custom Server Control
来支持程序集嵌入和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控件库?
如果有,是否有关于此方法的任何教程?
我真的很想知道商业/专业公司如何创建网页。
谢谢大家,非常感谢任何建议!
答案 0 :(得分:0)
严格来说,你已经习惯了支持上述的控制。这将继续在WebForms中创建的未来项目中工作。
然而,如果你涉足MVC,那么就会有一个惊人的区别。处理输入的大多数控件都是客户端(可以包含在js wigets和用户验证类中)。另一方面,服务器控件很少,但是_MasterLayouts和Views可以使用PartialViews PartialView 类似于 Web用户控件。在控制器中,您可以返回与服务器控件
类似的EditTemplates和其他类型答案 1 :(得分:0)
经过几天的挖掘,我几乎放弃创建自己的javascript库,不仅仅是为了web小部件(UI),我也不想使用第三方js框架,因为:
好吧,我不知道这是不是答案,但这是我个人的问题。非常感谢你们。