为啥ASP.net中动态控件在刷新后不能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥ASP.net中动态控件在刷新后不能相关的知识,希望对你有一定的参考价值。

参考技术A 很明显你对ASP.NET的生命周期和表单提交机制不了解,这样动态添加的控件显然在点击按钮二次提交页面刷新之后就没有了
两个解决办法:
一:控件加到前台
二:band_ui放到postback判断之外
还有个办法需要很多的自定义代码处理回传的逻辑,就是后台添加控件,同时在二次提交时处理好控件值

动态创建的 asp.net 控件在回发后消失

【中文标题】动态创建的 asp.net 控件在回发后消失【英文标题】:Dynamically created asp.net controls disappear after post back 【发布时间】:2018-09-28 05:27:40 【问题描述】:

我有一个 asp.net 网页,我需要在其中创建动态控件,如文本框、组合框、标签等。

创建这些字段后,如果页面回发发生,所有动态创建的控件都会消失。

我正在为组合框下拉选择的索引更改事件创建动态控件。所以也不能在页面初始化上创建。

有什么办法可以解决这个问题吗?

【问题讨论】:

您需要跟踪所有控件并在 PostBack (demo) 上重新创建它们 【参考方案1】:

为了跨 PostBacks 保留动态控件,您需要利用 Page 的 PreInit 事件重新创建动态控件。

这可能会对您有所帮助: https://www.aspsnippets.com/Articles/ASPNet-Persist-Dynamic-Controls-Dynamic-Controls-disappear-after-PostBack-in-ASPNet.aspx

【讨论】:

以上是关于为啥ASP.net中动态控件在刷新后不能的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET中能不能实现无刷新登录?

ASP.NET 用AJAX在页面上传头像,不能异步刷新?

为啥 ASP.NET 动态控件即使添加到 Page_Load 中也能保持 ViewState?

从另一个控件中的控件刷新 asp.net 页面

asp.net中如何使控件内容在本页面跳转不刷新

asp.net mvc为啥刷新页面后ajax响应