如何解决在 aspx 页面回发上丢失运行时控件的数据
在 asp.net webform 中,字段是在运行时根据 page_init 上的属性创建的,具有初始值。例如,2 个文本框是基于属性创建的。用户使用数字更改第一个文本框值并单击提交按钮。具有所有属性的实体创建并传输到服务器,计算第二个属性的值并回发页面。再次在 page_init 中重建字段并将值放入其中,第二个字段由新创建。但是在 page_load 中,初始值放在第二个字段中,这是计算性的,同样的值显示给用户。
private void Page_Init(object sender,EventArgs e)
{
CreateProperties(entity);
}
private void CreateProperties(Entity en)
{
foreach(PropModel prop in en.PropList)
{
CreateProp(prop);
}
}
private void CreateProp(PropModel property)
{
switch (property.DisplayType)
{
case Gp_PropertyDisplayType.Number:
createdControl = FillTextBoxField(property);
...
}
this.Controls.add(createdControl );
}
private Control FillTextBoxField(PropModel property)
{
UcTextBox rtx = LoadControl("/UcTextBox.ascx") as UcTextBox;
rtx.ID = GetPropertyControlId(property);
string value = property.CurrentValue as string;
rtx.Value = value;
return rtx;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。