在Web表单应用程序中,对于服务器代码,何时使用WebControls以及何时使用HtmlControls?例如,如果我想在span标签内写一些文本,我应该使用:
<span id="someid" runat="server"></span>
Run Code Online (Sandbox Code Playgroud)
要么
<asp:Label id="someid" runat="server"></asp:Label>
Run Code Online (Sandbox Code Playgroud)
主要区别在于HtmlControls仅提供在页面循环期间寻址页面的一部分的方式,而WebControls是有状态的.
在您的示例中,如果为Label文本指定一些值,它将使其保持在PostBacks之间.
根据我的经验,如果可以的话,使用HtmlControl会好得多,它们更轻巧,并且它们不会填满你的ViewState.当您需要WebControl为有状态时,请使用它们.
例如,您可能需要使用一个标签的页面标题,因为你只能赋值一次(通常在Page_OnLoad一个内部if (!IsPostBack)块).您可能希望使用HTML范围来提供一些状态反馈(例如,在每次回发时更新状态).
| 归档时间: |
|
| 查看次数: |
2659 次 |
| 最近记录: |