Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 以编程方式创建表,在其中输入值,检索整个内容_Html_Asp.net_Page Lifecycle - Fatal编程技术网

Html 以编程方式创建表,在其中输入值,检索整个内容

Html 以编程方式创建表,在其中输入值,检索整个内容,html,asp.net,page-lifecycle,Html,Asp.net,Page Lifecycle,当我去解析整个表时,我以编程方式创建的所有内容都丢失了 我一定是忘记了什么,所以它丢失了我通过编程构建的所有东西(我只得到了表的外壳) 有什么想法吗 如果在以编程方式创建该表后将其放入会话对象中,则该表将正常工作,但用户输入的所有值显然不存在 protected void btnSave_Click(object sender, EventArgs e) { SaveMainGrid(tblCC); // SaveMainGrid

当我去解析整个表时,我以编程方式创建的所有内容都丢失了

我一定是忘记了什么,所以它丢失了我通过编程构建的所有东西(我只得到了表的外壳)

有什么想法吗

如果在以编程方式创建该表后将其放入会话对象中,则该表将正常工作,但用户输入的所有值显然不存在

  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);
                    }
                }
            }
        }

这可能是asp.net生命周期的另一种情况。如果动态创建控件,除非重新创建控件,否则它们在viewstate中不可用。即使这样,我也不知道这些值是否会被持久化

(我想他们会的。我已经有一段时间没有和这个特殊的网络形式的夸克战斗了。) 查看更多信息


为什么要动态创建表?是否可以使用asp:GridView?

是否在
OnInit
事件中每次回发后都要创建表?如果你想在活动中使用它,你需要这样做。。事实上,我不是这样的,所以我可以离开没有它。。我只是让用户按下一个按钮,然后浏览表格并读取值。。让我想起了1999年和做经典asp。。所有这一切都是因为数据透视表太过复杂,或者我无法确定我是否可以将其放入gridview。@Andy我认为这是不对的“如果动态创建控件,它们将不会处于viewstate”我很确定你的意思是在加载viewstate之前需要在回发中重新创建控件。网格以几种奇怪的方式旋转,仅将其绑定到gridview将太困难。我认为我缺少ASP.NET的基本原理。首先,我创建一个表并将其发送给客户端。。他们输入一些值并点击“保存”。。因为这些值不是放在类似asp:Textbox的东西中,所以它不会像我习惯的那样保存它…啊哈!我得到了它。。这是所有的原因是回发。。。我习惯于在每个页面上添加它,以至于我忘记了每次都需要重新生成表,因为它不是viewstate的一部分。我真蠢如果(!Page.IsPostBack)/{CreateTopGrid();CreateMainGrid();/}@Conrad Frix:午饭后我打字很快。因此,我超越了自己。明显的错误。谢谢你指出这一点。