2010-01-05 8 views
1

Я добавляю управление пользователя динамически на страницу и пытаясь сохранить в viewstate , когда я triyed, чтобы сохранить местозаполнитель в состоянии представления, я получил эту ошибку. «PlaceHolder не является меткой как сериализуемая».save Загрузить User Control Dynamic to viewstate

вот мой код

Controls_PriceControl ctrl = (Controls_PriceControl)LoadControl("../Controls/PriceControl.ascx"); 
    plcPrices.Controls.Add(ctrl); 

    ViewState["plcPrices"] = plcPrices; 

вы можете assiset мне с этим вопросом?

спасибо!

ответ

1

Вы не должны сохранять свои фактические элементы управления в ViewState, а только в их состоянии (обычно это свойства). Сохранение и загрузка свойств управления часто могут быть сделаны непосредственно в декларации собственности:

public class FooControl : Control 
{ 
    public string Bar 
    { 
     get { return ViewState["Bar"] as string; } 
     set { return ViewState["Bar"] = value; } 
    } 
} 
Смежные вопросы