gpt4 book ai didi

asp.net - 在 asp.net 的回发之间保持 Page.Init 中可访问的值

转载 作者:行者123 更新时间:2023-12-02 11:14:13 25 4
gpt4 key购买 nike

好的,我已经了解到,为了在 ASP.NET 中保留动态(创建的)控件及其 View 状态,我们必须在页面 init 事件中(重新)创建它们,因此它们已经存在于页面的控件层次结构中在加载 View 状态之前。

正如本文所述article .

如果创建这些控件的条件位于 Web 环境(例如数据库)之外,则实现此行为没有问题。但是,如果我用来决定必须创建多少个动态控件的值实际上是控件中的值,我该怎么办?

我尝试用一​​个例子来解释一下,也许更清楚:

假设我们有一个文本框和两个按钮。在文本框中,我写下要创建的动态控件的数量,例如 4 个复选框。当我点击按钮1时,应该创建控件。没问题。然后我选中一些复选框并点击按钮2以触发回发。现在我应该在页面初始化事件中重新创建控件,就像我们之前所说的那样,以维护控件及其状态。

问题来了。因为我处于初始化阶段,所以我没有 View 状态,所以我无法访问文本框中的值,该值告诉我应该创建多少个动态复选框.

我认为将值存储在 session 对象中可以解决问题,但事实并非如此。 session 对象也无法访问。

我可以在哪里保存可以从 init 事件访问的值?

感谢并抱歉发了这么长的帖子!

最佳答案

第一件事 - 文本框值不会从 View 状态存储/检索,您无法从 View 状态获取文本框值。说到实际问题,这里是(imp)事件 init -> 加载 View 状态 -> 绑定(bind)回发数据 -> 页面加载的顺序。您只能在绑定(bind)回发数据事件(实际上获取发布的数据并绑定(bind)到文本框控件)之后检索文本框值。在 init 中唯一的选项是使用 Request.Form{"textboxoxy"] 来获取文本框值。

关于asp.net - 在 asp.net 的回发之间保持 Page.Init 中可访问的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15639403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com