我目前正在为ASP .NET应用程序开发本地化项目。我目前有一个包含多个视图的大页面,大约有9个选项卡,每个选项卡包含大量数据。我只是想知道,我在ASPX页面上添加了很多标记,以便我可以轻松地本地化我的文本。我想知道Label的数量是否对视图状态大小有很大影响?或者页面的表现。
我在另一个文本(here)上读到一个asp:Label至少包含52bytes的数据。因此,如果我有很多标签控件,那么将来回发送其他未使用的数据。我想知道为什么它甚至需要52个字节的视图状态,如果它只是一个标签。此外,除了Microsoft的内置功能之外,还有其他方法可以在ASP .NET中进行本地化。
答案 0 :(得分:2)
<asp:Label>
Text
属性如果在回发之间没有变化,则不会在ViewState
中保留。您为ViewState
控件生成的<asp:Label>
是在控件上调用SaveViewState()
时由标签的ControlState生成的数据。
让我澄清一下 - ViewState
跟踪对页面的更改。如果<asp:Label>
的文本在aspx标记(或代码隐藏)中设置并且从不更改,则ViewState的大小不会更改(Label控件的ViewState
不包含任何与Text
属性相关的数据。在这种情况下,我倾向于将EnableViewState
设置为false
,以便根本不会将任何数据放入ViewState中。
我建议您阅读 TRULY UnderStanding ViewState 了解更多详情。