繁体   English   中英

在aspx页面回发中丢失用于运行时控件的数据

[英]lose data for runtime controls on aspx page postback

在asp.net Webform中,将在运行时从具有初始值的page_init属性创建字段,例如,基于属性创建2个文本框。 用户使用数字更改第一个文本框的值,然后单击“提交”按钮。 具有所有属性的实体已创建,然后将其传输到服务器,并计算第二个属性的值,并且页面回发。 再次在page_init字段中重建字段并将值放在其中,并由new创建第二个字段。 但是在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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM