asp.net - 为什么控件对于 ASP.NET Web 窗体很重要?

标签 asp.net

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

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

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/

相关文章:

asp.net - 在 ASP.NET MVC 4 中使用区域时出现配置错误

asp.net - BufferedMediaTypeFormatter HttpContent 不包含请求中发送的所有 header

asp.net - "ASP.NET Membership is disabled in this template"- vs2013 Web 表单模板

asp.net - 如何使用与UpdatePanel类似的标记来创建内部属性的ASP.NET用户控件?

c# - 使用 asp.net 成员(member)资格有哪些优点和缺点?

c# - 将 Asp 单选按钮属性(值)设置为字符串

asp.net - 如何确认然后禁用 asp.net/javascript 中的按钮

c# - 如果我使用 ASP.NET 标识,我会被 EF 困住吗?

c# - 我可以使用 Sql Server Express 复制和使用 mdf 文件吗?

asp.net - 根据电子邮件地址将 OAuth 帐户与现有帐户合并