我有一个现有的代码库,在开发人员选择通过asp.net面板标签包围asp.net文字标记的代码的某些部分。但是在代码的其他部分,开发人员选择使用html div标签包围asp.net文字标记。在这两种情况下,文字标记都是错误消息显示的占位符。我不确定为什么会选择另一个。
以下是示例:
<div class="shadowContent">
<div class="errorLabel" id="divErrorMsg" style="display:none">
<asp:Literal runat="server" ID="litError12" Text="Enter required fields." />
</div>
VS
<asp:panel runat="server" class="errorLabel" ID="pnlError1" Visible="false">
<asp:Literal runat="server" ID="literal1" />
</asp:panel>
答案 0 :(得分:0)
如果我必须在服务器端修改div,我会使用asp.net面板,否则我只选择一个好的ol div
答案 1 :(得分:0)
渲染的HTML有区别吗?最终,Panel
只会向客户端呈现div
。如果不需要在服务器端上下文中引用div
,那么使用普通div
可能会导致性能稍微提高,因此开发人员可能会尽可能地选择。{/ p >
但是,如果需要在服务器端代码中引用div
(可能使其可见或不可见),而不是Panel
允许这样做。就像服务器端div
控件一样:
<div runat="server" ID="pnlError1">
这些选项之间没有什么区别,只是在代码中更容易维护和更有意义的问题。
答案 2 :(得分:0)
如果您使用Panel
并将其Visible
属性设置为false
,则根本不会呈现<div>
元素。相反,如果您使用<div>
并设置style="display:none"
,则会有一个隐藏的<div>
元素,您可以通过客户端JavaScript显示该元素。