[英]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.