当我去解析表时,我以编程方式创建的所有内容都丢失了......
我必须忘记某些东西,以便它丢失我以编程方式构建的所有东西(我只是获得了表格的外壳)。
有什么想法吗?
如果我以编程方式创建它后将表放在Session对象中,那么除了用户输入的所有值都不会明显存在之外,它会起作用。
protected void btnSave_Click(object sender, EventArgs e)
{
SaveMainGrid(tblCC);
// SaveMainGrid((System.Web.UI.WebControls.Table)Session["tblMain"]);
}
private void SaveMainGrid(Control control)
{
foreach (Control ctrl in control.Controls)
{
if (ctrl is RadNumericTextBox)
{
RadNumericTextBox t = ctrl as RadNumericTextBox;
}
else
{
if (ctrl.Controls.Count > 0)
{
SaveMainGrid(ctrl);
}
}
}
}
答案 0 :(得分:2)
这可能是asp.net生命周期的另一个案例。如果动态创建控件,除非重新创建控件,否则它们不会在视图状态中可用。即便如此,我也不知道这些价值观会持续存在。
(我想他们可能会。自从我打过这个特殊的Web Forms夸克以来已经有一段时间了。) 请查看this question以获取更多信息。
为什么要动态创建表?你能用asp:GridView吗?