如何从视图状态恢复数据并将其添加到文本框中 [英] How to get data back from view state and add it into textboxes

查看:92
本文介绍了如何从视图状态恢复数据并将其添加到文本框中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

protected void btnAddAnswerRow_Click(object sender, EventArgs e)
        {
            rptPossibleAnswer.DataSource = PossibleAnswer();
            rptPossibleAnswer.DataBind();
        }

        public DataTable PossibleAnswer()
        {
            if (ViewState["Answers"] == null)
            {
                dt.Columns.Add("Name");

                DataColumn DocId = new DataColumn();
                DocId.ColumnName = "ID";
                DocId.DataType = System.Type.GetType("System.Int32");
                DocId.AutoIncrement = true;
                DocId.AutoIncrementSeed = 1;
                DocId.AutoIncrementStep = 1;
                dt.Columns.Add(DocId);
            }
            else
            {
                dt = (DataTable)ViewState["Answers"];
            }

            //test code for handle view state for textboxes values

            string strPossibleAnswer = "";
            foreach (RepeaterItem item in rptPossibleAnswer.Items)
            {
                TextBox txt = (TextBox)item.FindControl("txtPossibleAnswers");
                if (txt != null)
                {
                    if (txt.Text != "")
                    {
                        strPossibleAnswer = strPossibleAnswer + "," + txt.Text;
                    }
                }
            }
            ViewState["BeforePostBackAnswer"] = strPossibleAnswer;
            //end test code

            
            DataRow dr = dt.NewRow();
            dr["Name"] = "";
            dt.Rows.Add(dr);
            ViewState["Answers"] = dt;
            return dt;
        }







这是我的代码。

i am管理以前的数据到我的视图状态ViewState [BeforePostBackAnswer]。



我的问题是这个

i不知道我怎么能说数据进入我动态生成的文本框。



因为当我的用户点击添加文本框按钮

它得到回发

和我之前删除的数据。



所以我把它保存在ViewState [BeforePostBackAnswer]

但是我不知道怎么做再次将ViewState [BeforePostBackAnswer]数据写入文本框



请帮助我




this is my code.
i am managing the previous data into my view state ViewState["BeforePostBackAnswer"].

my issue is this
i dont know that how can i papulate the data into my dynamically generated textboxs.

because when my user click on add textbox button
it get postback
and my previous data removed.

so for that i save it in ViewState["BeforePostBackAnswer"]
but i dont know how to again papulate the ViewState["BeforePostBackAnswer"] data into text boxes

please help me

推荐答案



在上面的代码中,每次添加新文本框时都会覆盖ViewState [BeforePostBackAnswer]。

所以你应该将这行代码移到另一个地方,以便在初始化转发器时只执行一次。



希望这有助于您的查询。
Hi,
In the above code, the ViewState["BeforePostBackAnswer"] will be overwritten every time new textbox is added.
So you should probably move this line of code to another place so that it will execute only once while initializing the repeater.

Hope this helps your query.


这个链接帮助我

和最终我解决了我的问题

谢谢大家的帮助



http://geekswithblogs.net/QuandaryPhase/archive/2008/10/23/asp .net-alternatives-to-dynamic-controls --- part-2.aspx [ ^ ]
This link help me
and finaly i got solution of my problem
thanks you all for help

http://geekswithblogs.net/QuandaryPhase/archive/2008/10/23/asp.net-alternatives-to-dynamic-controls---part-2.aspx[^]


这篇关于如何从视图状态恢复数据并将其添加到文本框中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆