Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET混乱-服务器控件_Asp.net_Servercontrols_Htmlcontrols - Fatal编程技术网

ASP.NET混乱-服务器控件

ASP.NET混乱-服务器控件,asp.net,servercontrols,htmlcontrols,Asp.net,Servercontrols,Htmlcontrols,我已经通读了这个问题中的信息:但我仍然相当困惑 当时的情况是,我被要求做一个web项目,在那里我制作了一个向导。当我完成这个项目时,每个人都问我为什么使用。我认为这是他们要求的,但显然不是,所以在这之后,我相信服务器控件只是原型工具 然而,在下一个项目中,我通过C#代码进行DB查询,并通过html加载结果。然后有人问我为什么没有使用gridview和dataset 是否有人列出了他们为什么会选择使用特定的html控件而不是特定的服务器控件的利弊,以及为什么?我想我在找一份名单。。。哪些服务器控件

我已经通读了这个问题中的信息:但我仍然相当困惑

当时的情况是,我被要求做一个web项目,在那里我制作了一个向导。当我完成这个项目时,每个人都问我为什么使用
。我认为这是他们要求的,但显然不是,所以在这之后,我相信服务器控件只是原型工具

然而,在下一个项目中,我通过C#代码进行DB查询,并通过html加载结果。然后有人问我为什么没有使用gridview和dataset

是否有人列出了他们为什么会选择使用特定的html控件而不是特定的服务器控件的利弊,以及为什么?我想我在找一份名单。。。哪些服务器控件可以使用,为什么

编辑: 我想这个问题是开放的,所以我会澄清一些更具体的问题

  • 使用非常简单的控件(如asp:Label)可以吗?还是这些控件最终只会浪费空间?否则,似乎很难在代码中访问html

  • 是否有一些控件永远不应该使用

  • 有没有人有一个好的资源可以告诉我每种控制的利弊


  • 服务器控件依赖于视图状态,限制灵活性

    服务器控件是向WinForms开发人员介绍web开发的强大工具。服务器控件提供的主要好处是状态完整性和事件驱动的开发模型。然而,自从WebForms和服务器控件的引入以来,web开发的状态已经成熟,这作为一个整体正面临着一个新的挑战

    服务器控件的主要问题是,它们试图过多地抽象web的行为,在这样做时,依赖数据和服务器资源来执行它们的魔术。ViewState数据在过度使用时,可能会严重增大页面大小,从而导致错误

    现在可以使用HTML控件了,但到那时,最好还是简单地使用常规的HTML控件

    使用HTML控件,您可以精确控制网页的内容,并且可以更灵活地在网页上执行所需的行为。服务器控件提供了有限的客户端灵活性,并强制在服务器上执行大量工作,这些工作可以轻松地在浏览器中以良好的性能执行

  • 是否可以使用非常简单的控件,如asp:Label或执行以下操作 就这样浪费空间?看来 好像很难进入 否则,在代码后面添加html
  • 如果需要访问服务器端代码中的控件,请使用服务器控件。如果没有,就不要

  • 是否有一些控件永远不应该使用
  • 在我(中级)的经验中不是这样的。一旦您知道如何使用向导控件,它就会像广告中宣传的那样工作(想象一下自己编写所有功能,然后进行计算)。我使用过它,它产生了一个平滑、功能强大的多页注册表单,中间保存了数据

  • 有没有人有一个好的资源,可以告诉我的优点和缺点 每个控件
  • 我不知道,但我建议在正确的情况下使用正确的控件。例如,研究Repeater和GridView之间的差异,并根据您的需要使用最佳选择


    当然还有其他选择。首先,这一趋势正在增强。就我个人而言,我还没有致力于学习它。就交互式表单和AJAX而言,许多.NET开发人员选择使用JQuery进行任何验证和任何AJAX(UpdatePanel易于使用,效率极低),并使用JSON作为服务器端的传输机制

    嗯。。。如果您确实需要,是否可以从代码隐藏中访问html控件?另外,谢谢您的意见。我想知道是否有比我更有ASP.NET经验的人喜欢使用这些控件。布兰迪:是的。如果希望从服务器端访问“常规”html控件,可以执行以下操作:。(添加“runat”属性)在这里查看列表:您将无法获得使用控件获得的事件模型。感谢您的投票。争论双方仍有大量的争论。一方面,服务器控件更容易设置,但另一方面,HTML控件提供更细粒度的控件,并且可能执行得更好。这取决于你的情况。根据经验:如果您只是要显示平面的只读内容,请使用HTML控件或缩小的服务器控件,例如文字或转发器,而不是标签和GridView。另外,尝试在默认情况下禁用ViewState,并且仅在它提供明显优势的情况下选择加入。