Что у меня есть?
У меня есть простая веб-часть, которая имеет Table
. Таблица имеет два элемента управления: TextBox
и Button
. В методе CreateChildControls()
я добавляю элементы управления в таблицу, если значение !Page.IsPostBack
равно true. И в таблице включено состояние просмотра.
Что я хочу сделать?
Я хочу, чтобы элементы управления в таблице присутствовали после обратной записи.
С какой проблемой я сталкиваюсь?
Я, кроме элементов управления, TextBox
и Button
должен присутствовать в таблице после поста обратно. Но этого не происходит.
Я чувствую, что создание всей таблицы в каждом посте назад не требует больших затрат, и включение режима просмотра решит эту проблему.
Может кто-нибудь сказать, если я что-то упустил?
Заранее спасибо!
Обновление:
Я попытался установить EnbleViewState
свойство веб-части. Все тот же результат.
Код:
public class TreeWebPart : Microsoft.SharePoint.WebPartPages.WebPart
{
private Table table;
private Button clickMe;
private TextBox content;
protected override void CreateChildControls()
{
base.CreateChildControls();
BuildTable();
}
private void BuildTable()
{
table = new Table();
clickMe = new Button();
content = new TextBox();
table.ID = "myTable";
table.EnableViewState = true;
if (!this.Page.IsPostBack)
{
clickMe.Text = "Click Me!";
clickMe.Click += new EventHandler(clickMe_Click);
content.Text = "Click button to set text";
content.Width = Unit.Pixel(200);
TableCell cell = new TableCell();
cell.Controls.Add(content);
TableRow tr = new TableRow();
tr.Cells.Add(cell);
table.Rows.Add(tr);
cell = new TableCell();
cell.Controls.Add(clickMe);
tr = new TableRow();
tr.Cells.Add(cell);
table.Rows.Add(tr);
}
this.Controls.Add(table);
}
protected void clickMe_Click(object sender, EventArgs e)
{
content.Text = DateTime.Now.ToLongDateString() + " " + DateTime.Now.ToLongTimeString();
}
}