2

一些 Web 技术,如 ASP.NET MVC 和任何 Web 技术,Web 窗体,包括使用控件的name属性来识别回发中的控件,例如,读取发布的值。

但是,ASP.NET 使用控件Id'sPage类实例中创建控件(堆对象)实例。

ASP.NET 还使用控件的id属性做什么?

我隐约记得有一些关于动态生成控件的 id 的问题。一些冲突或一些这样的。或者一些依赖。我不确定是什么。

为什么id's 对 ASP.NET Web 窗体很重要,它如何使用它们,而不是命名其Page代表控件的类属性?

4

1 回答 1

3

控件id值对于动态创建的控件和将ViewState数据合并回这些动态创建的控件至关重要。这让用户觉得页面刚刚更新,而实际上控件已重新构建,ViewState数据被发送回服务器,将id和 值配对在一起,最后反弹到控件以显示给用户。

如果您使用不同的id值重新创建控件,ViewState则将无法正确绑定到控件,并且它会向用户显示页面“重置”,因为无法将更改应用于正确的控件。

注意:该id值也用于静态创建的控件,但最终id值是ViewState将正确的值放入正确的控件的键。

于 2013-08-06T15:49:11.343 回答