某些 Web 技术(例如 ASP.NET MVC)和任何 Web 技术、Web 窗体,包括使用控件的 name
属性来标识回发中的控件,例如读取发布的值.
但是,ASP.NET 使用控件 Id's
在 Page
类实例中创建控件(堆对象)实例。
ASP.NET 还使用控件的 id
属性做什么?
我依稀记得动态生成的控件的 ID 存在一些问题。一些冲突或类似的事情。或者某种依赖。我不确定是什么。
为什么 id
对于 ASP.NET Web 窗体很重要,除了命名表示控件的 Page
类属性之外,它如何使用它们?
最佳答案
控件 id
值对于动态创建的控件以及将 ViewState
数据合并回这些动态创建的控件至关重要。这使得用户感觉页面刚刚更新,而实际上控件已重建,并且 ViewState
数据已发送回具有 id
和值的服务器配对在一起,最后反弹到控件以显示给用户。
如果您使用不同的 id
值重新创建控件,则 ViewState
将无法正确绑定(bind)到控件,并且会向用户显示页面“重置” ,因为更改无法应用于正确的控件。
注意:id
值也用于静态创建的控件,但最终 id
值是 ViewState
放置的键将正确的值输入到正确的控件中。
关于asp.net - 为什么控件对于 ASP.NET Web 窗体很重要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18084508/