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_Optimization - Fatal编程技术网

ASP.NET-提高性能

ASP.NET-提高性能,asp.net,optimization,Asp.net,Optimization,是否有任何理由使用标准HTML控件(输入类型=文本,输入类型=复选框)而不是asp.net控件(asp:TextBox,asp:checkbox)来提高性能?与性能优化一样:这取决于具体情况。在您的项目中测试它,看看它是否有任何不同。我想这将是一个微观优化。您将获得性能,但不会引人注目。另一方面,您将失去服务器控件提供的许多灵活性 您可以尝试通过为不需要的控件禁用ViewState来减小ViewState的大小。这将减小生成的页面的大小并提高性能。除非您明确设置 EnableViewState=

是否有任何理由使用标准HTML控件(输入类型=文本,输入类型=复选框)而不是asp.net控件(asp:TextBox,asp:checkbox)来提高性能?

与性能优化一样:这取决于具体情况。在您的项目中测试它,看看它是否有任何不同。

我想这将是一个微观优化。您将获得性能,但不会引人注目。另一方面,您将失去服务器控件提供的许多灵活性


您可以尝试通过为不需要的控件禁用ViewState来减小ViewState的大小。这将减小生成的页面的大小并提高性能。

除非您明确设置

EnableViewState="False"
因此,如果有大量控件,则会增大基础页面的大小。一般来说,只使用满足你需要的东西

  • 是否需要访问代码隐藏中的用户控件
  • 您是否需要该控件来跨post Back等维护值

在大多数情况下,这不会有什么不同,但如果您不需要这些功能,保持页面整洁是很好的。

另外,在.net 4.0中,使用服务器控件的另一个缺点已经消失,因为您可以将
clientdmode
设置为
Static
,这将使您完全控制控件上的ID。由于命名容器的工作方式,以前只使用标准的
文本框
按钮
(不使用
视图状态
)仍然会呈现疯狂的不可读ID。但那些日子现在已经过去了:)

记住你的三个选择是:

  • 使用服务器上无法引用的常规html
  • runat=“server”
    添加到现有的html标记(即)中,您将能够作为
    HtmlControl
    访问它
  • 使用asp.net标记(
  • 选项3的缺点是,您并不总是知道呈现的html标记是什么,而且您对它的控制也较少。我个人只将选项3用于更高级的控件,如按钮()和第三方控件。对于我需要在服务器上引用的普通html标记,我更喜欢选项2

    关于性能,我主要关注渲染输出、向客户机渲染的额外膨胀量等等。与ASP.Net已经采用的不同缓存技术相比,使用一种或另一种方法的服务器上的CPU时间是次要的