ASP.NET混乱-服务器控件
我已经通读了这个问题中的信息:但我仍然相当困惑 当时的情况是,我被要求做一个web项目,在那里我制作了一个向导。当我完成这个项目时,每个人都问我为什么使用ASP.NET混乱-服务器控件,asp.net,servercontrols,htmlcontrols,Asp.net,Servercontrols,Htmlcontrols,我已经通读了这个问题中的信息:但我仍然相当困惑 当时的情况是,我被要求做一个web项目,在那里我制作了一个向导。当我完成这个项目时,每个人都问我为什么使用。我认为这是他们要求的,但显然不是,所以在这之后,我相信服务器控件只是原型工具 然而,在下一个项目中,我通过C#代码进行DB查询,并通过html加载结果。然后有人问我为什么没有使用gridview和dataset 是否有人列出了他们为什么会选择使用特定的html控件而不是特定的服务器控件的利弊,以及为什么?我想我在找一份名单。。。哪些服务器控件
。我认为这是他们要求的,但显然不是,所以在这之后,我相信服务器控件只是原型工具
然而,在下一个项目中,我通过C#代码进行DB查询,并通过html加载结果。然后有人问我为什么没有使用gridview和dataset
是否有人列出了他们为什么会选择使用特定的html控件而不是特定的服务器控件的利弊,以及为什么?我想我在找一份名单。。。哪些服务器控件可以使用,为什么
编辑:
我想这个问题是开放的,所以我会澄清一些更具体的问题
服务器控件依赖于视图状态,限制灵活性 服务器控件是向WinForms开发人员介绍web开发的强大工具。服务器控件提供的主要好处是状态完整性和事件驱动的开发模型。然而,自从WebForms和服务器控件的引入以来,web开发的状态已经成熟,这作为一个整体正面临着一个新的挑战 服务器控件的主要问题是,它们试图过多地抽象web的行为,在这样做时,依赖数据和服务器资源来执行它们的魔术。ViewState数据在过度使用时,可能会严重增大页面大小,从而导致错误 现在可以使用HTML控件了,但到那时,最好还是简单地使用常规的HTML控件 使用HTML控件,您可以精确控制网页的内容,并且可以更灵活地在网页上执行所需的行为。服务器控件提供了有限的客户端灵活性,并强制在服务器上执行大量工作,这些工作可以轻松地在浏览器中以良好的性能执行
当然还有其他选择。首先,这一趋势正在增强。就我个人而言,我还没有致力于学习它。就交互式表单和AJAX而言,许多.NET开发人员选择使用JQuery进行任何验证和任何AJAX(UpdatePanel易于使用,效率极低),并使用JSON作为服务器端的传输机制 嗯。。。如果您确实需要,是否可以从代码隐藏中访问html控件?另外,谢谢您的意见。我想知道是否有比我更有ASP.NET经验的人喜欢使用这些控件。布兰迪:是的。如果希望从服务器端访问“常规”html控件,可以执行以下操作:。(添加“runat”属性)在这里查看列表:您将无法获得使用控件获得的事件模型。感谢您的投票。争论双方仍有大量的争论。一方面,服务器控件更容易设置,但另一方面,HTML控件提供更细粒度的控件,并且可能执行得更好。这取决于你的情况。根据经验:如果您只是要显示平面的只读内容,请使用HTML控件或缩小的服务器控件,例如文字或转发器,而不是标签和GridView。另外,尝试在默认情况下禁用ViewState,并且仅在它提供明显优势的情况下选择加入。