PDA

View Full Version : ViewState بعضی مقادیر را در خودش نگه نمی داره



آرام جان گل
سه شنبه 07 تیر 1390, 11:27 صبح
سلام

من دو تا View state دارم برای نگه داشتن یک تیبل فرضی و یک Row فرضی که آنها را در یک دو تابع پر می کنم
به صورت زیر:




HtmlTableRow row = new HtmlTableRow();
HtmlTable Table = new HtmlTable();
public HtmlTableRow Template_Row
{

set
{
this.ViewState.Add("_Template_Row", value);
}
get
{
if (this.ViewState["_Template_Row"] != null)
return (HtmlTableRow)(this.ViewState["_Template_Row"]);
else
return row;
}
}
public HtmlTable Template_Table
{
set
{
this.ViewState.Add("_Template_Table", value);
}
get
{
if (this.ViewState["_Template_Table"] != null)
return (HtmlTable)(this.ViewState["_Template_Table"]);
else
return Table;
}
}





public void GetAllCheckBoxes(ControlCollection MyControlCollection)
{
foreach (Control ctl in MyControlCollection)
{
if ((ctl is CheckBox) && ((CheckBox)ctl).Checked)
{
HtmlTableCell Template_Cell = new HtmlTableCell();
Label Lbl_Content = new Label();
Template_Cell.Align = "center";
Template_Cell.BgColor = "#85CCE0";
Template_Cell.VAlign = "middle";
Lbl_Content.Text = (ctl as CheckBox).Text;
Template_Cell.Controls.Add(Lbl_Content);
this.Template_Row.Cells.Add(Template_Cell);
}
GetAllCheckBoxes(ctl.Controls);
}
}


protected void Img_Btn_SelectItemsPreview_Click(object sender, ImageClickEventArgs e)
{
this.Template_Table.Width = "100%";
GetAllCheckBoxes(this.Pnl_Controls.Controls);
this.Template_Table.Rows.Add(this.Template_Row);
this.Pnl_SelectedItemsPreview.Controls.Add(this.Te mplate_Table);
}


با اینکه من Table و Row را در ViewState می ریزم ولی آنها را نگه نمی دارد و در صورتی که در توابع دیگر صدا بزنم آنها را خالی نمایش می دهد

لطفاً راهنمایی کنید
ممنون