我想知道www.example.com中的Panel控件asp.net和runat="server"中的div有什么区别?因为两者都呈现为div。哪一个是最好的(条件)?
Panel
runat="server"
div
66bbxpm51#
该代码
<asp:Panel id="abc" runat="server">
和你做的完全一样
<div id="abc" runat="server">
它们呈现相同的内容,但Panel最常用的是其他WebControls的功能,并且Panel web控件在代码隐藏下提供更多控制,因为它公开了更多属性。
c90pui9n2#
不同之处在于Panel是一个webcontrol,它将在代码隐藏文件中给予比div更多的属性,因为它是一个webcontrol,它将需要更多的处理来生成HTML。面板控件具有viewstate属性,而div没有。这取决于你的用法。如果你更喜欢控制更多的属性,那么就使用面板控件,否则就使用div控件。
nx7onnlm3#
我发现最有用的区别是;一个div,即使使用runat=server也不会在页面服务器之间保存对其样式的更改。这让我抓狂,我有一个div保存了一个弹出aspx屏幕的iframe。我希望这个弹出窗口在用户使用完它后关闭,方法是通过javascript将可见性设置为none。我发现它总是重复出现,即使我试图在每个页面服务器的代码后面为保存页面Assert可见性。然后我切换到使用asp:panel,因为它的视图状态,你设置它的可见性,它保持这种方式通过多个页面服务,直到你再次改变它。干净得多。你仍然可以应用css样式到该面板,就像一个div,但它更好的'表现'
3条答案
按热度按时间66bbxpm51#
该代码
和你做的完全一样
它们呈现相同的内容,但Panel最常用的是其他WebControls的功能,并且Panel web控件在代码隐藏下提供更多控制,因为它公开了更多属性。
c90pui9n2#
不同之处在于
Panel
是一个webcontrol,它将在代码隐藏文件中给予比div更多的属性,因为它是一个webcontrol,它将需要更多的处理来生成HTML。面板控件具有viewstate属性,而
div
没有。这取决于你的用法。如果你更喜欢控制更多的属性,那么就使用面板控件,否则就使用div控件。
nx7onnlm3#
我发现最有用的区别是;一个div,即使使用runat=server也不会在页面服务器之间保存对其样式的更改。这让我抓狂,我有一个div保存了一个弹出aspx屏幕的iframe。我希望这个弹出窗口在用户使用完它后关闭,方法是通过javascript将可见性设置为none。我发现它总是重复出现,即使我试图在每个页面服务器的代码后面为保存页面Assert可见性。
然后我切换到使用asp:panel,因为它的视图状态,你设置它的可见性,它保持这种方式通过多个页面服务,直到你再次改变它。干净得多。你仍然可以应用css样式到该面板,就像一个div,但它更好的'表现'