[英]ASP.NET - improve performance
是否有任何理由使用标准HTML控件(输入类型=文本,输入类型=复选框)而不是asp.net控件(asp:TextBox,asp:CheckBox)来提高性能?
恕我直言,这将是一个微优化。 你将获得表现,但不会引人注意。 另一方面,您将失去服务器控件提供的大部分灵活性。
您可以尝试通过为不需要它的控件禁用它来减小ViewState的大小。 这将减少生成的页面的大小并提高性能。
除非您明确设置,否则ASP.NET用户控件都将具有与它们关联的ViewState
EnableViewState="False"
因此,如果您有大量控件,您将膨胀底层页面的大小。 作为一般规则,使用满足您需求的东西,仅此而已。
在大多数情况下,它不会有所作为,但如果您不需要这些功能,最好保持页面清洁。
与性能优化一样:它取决于具体情况。 在您的项目中测试它,看看它是否有任何区别。
同样使用.net 4.0,使用服务器控件的另一个功能已经消失,因为您可以将ClientIDMode
设置为Static
,这将使您可以完全控制控件上的ID。 以前只使用标准textbox
或button
(没有viewstate
)仍会呈现疯狂的不可读ID,因为命名容器的工作方式。 那些日子已经结束了:)
记住你的三个选择是:
runat="server"
添加到现有的html-tags(即。)中,您就可以将其作为HtmlControl
访问。 <asp:* runat="server" />
) 选项3的缺点是你并不总是知道渲染的html标记是什么,你对它的控制较少。 我个人只使用选项3来获得更高级的控件,例如button()和第三方控件。 对于我需要在服务器上引用的普通html标记,我更喜欢选项2。
关于性能,我主要看看渲染的输出,向客户端渲染多少额外的膨胀等等。 与ASP.Net已经提供的不同缓存技术相比,使用一种或另一种方法在服务器上的CPU时间是次要的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.