【发布时间】:2017-02-09 14:49:24
【问题描述】:
我正在创建一个自定义服务器控件,并在服务器端创建一个更新面板和一些隐藏字段在服务器端,如下:
UpdatePanel UpdatePanel = new UpdatePanel();
UpdatePanel.ID = "udpReport1";
UpdatePanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
UpdatePanel.ChildrenAsTriggers = true;
下面的隐藏字段:
HiddenField HiddenField = new HiddenField();
HiddenField.ID = "hdnField";
UpdatePanel.ContentTemplateContainer.Controls.Add(HiddenField);
隐藏字段值由 JavaScript 分配。现在,当我使用 JavaScript 在更新面板上调用 __doPostBack() 时,我的所有隐藏字段都失去了它们的值,因为它们在呈现我的服务器控件时被重新初始化。这是一个服务器控件,因此我无法从我的 .aspx 页面声明这些字段。当更新面板回发时,我需要一种方法来保留这些值。另外,我已经在使用 __EVENTARGUMENT 来存储一些其他值,并且需要更多隐藏字段来保留更多值。
有人可以指出如何在发回更新面板时保留隐藏字段值吗?
谢谢。
【问题讨论】:
标签: c# asp.net updatepanel hidden-field custom-server-controls