Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.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
C# 希登菲尔德网络控制_C#_Asp.net_Hiddenfield - Fatal编程技术网

C# 希登菲尔德网络控制

C# 希登菲尔德网络控制,c#,asp.net,hiddenfield,C#,Asp.net,Hiddenfield,及 我试着 foreach (Control c in plc.Controls) { System.Web.UI.HtmlControls.HtmlTable Survey_Inner = (System.Web.UI.HtmlControls.HtmlTable)c.FindControl("Survey_Inner"); foreach (System.Web.UI.H

我试着

                foreach (Control c in plc.Controls)
            {
                System.Web.UI.HtmlControls.HtmlTable Survey_Inner = (System.Web.UI.HtmlControls.HtmlTable)c.FindControl("Survey_Inner");

                foreach (System.Web.UI.HtmlControls.HtmlTableRow r in Survey_Inner.Rows)
                {
                    foreach (Control ctr in r.Cells)
                    {
                        foreach (Control ct in ctr.Controls)
                        {
                            if (ct.GetType().ToString() == "System.Web.UI.WebControls.TextBox")
                            {

                                string freeTxtQues = ?? ;

                                string TextCevap = ((System.Web.UI.WebControls.TextBox)ct).Text;

                                string deger = ct.ID.ToString();



                                Guid QuestionId = new Guid(deger.Substring(4));

                                SaveAnswers(this._PortalUserHelper.UserProxy.ContactId, EgitimKatilimcisi, QuestionId, TextCevap, freeTxtQues);

                            }
但返回我的错误。“用户代码未处理InvalidCastException。”

'System.Web.UI.WebControls.TextBox'türündeki nesne'System.Web.UI.WebControls.HiddenField'türüne atılamadı


我正在尝试访问hiddenfields值并将其设置为freeTxtQues值,但目前无法执行此操作。有什么可以帮我的吗?

很难理解你的问题,但我会抛出一些东西


创建动态控件时,需要在Init事件上创建它们,以便在应用ViewState时,他会找到控件并设置其值。如果您不是在Init中创建控件,而是稍后创建,您将发现该控件没有假定的值

您的意思是如何获取值(txthfield.value)?不清楚问题是什么,是否要扩展我很抱歉我一直很匆忙:我想要的是将字符串freettxtques值设置为hiddenfields值。Hiddenfield值有我的调查问题文本,我想将它们写为我的调查答案名称。所以每次freetext创建一个hiddenfield,创建并存储我的问题文本,在Submit_单击时,我收集该字符串并作为我的答案名发送,至少我尝试了这个。我在收集部分时遇到问题。我尝试了一些东西,但在上面写下该部分时给了我错误。您正在尝试将TextBox转换为隐藏字段,因为您正在将控件筛选到TextBox的here
if(ct.GetType().ToString()==“System.Web.UI.WebControls.TextBox”)
。另外,使用
ct.GetType()==typeof(TextBox)
,它更正确,我想我在查找hiddenfield控件时遇到了问题。我试过这个,现在似乎可以用了。“string TextHidden=((System.Web.UI.WebControls.HiddenField)ctr.FindControl(“hd_”+deger.Substring(4))).Value;”这也是搜索它的另一种方式!通常,当我做动态工作时,我会以很多控件结束,因此我避免使用FindControl,因为它会遍历整个控件列表。我只是为控件创建列表,我需要在创建控件时搜索并添加它们,然后我只需要迭代列表。
                foreach (Control c in plc.Controls)
            {
                System.Web.UI.HtmlControls.HtmlTable Survey_Inner = (System.Web.UI.HtmlControls.HtmlTable)c.FindControl("Survey_Inner");

                foreach (System.Web.UI.HtmlControls.HtmlTableRow r in Survey_Inner.Rows)
                {
                    foreach (Control ctr in r.Cells)
                    {
                        foreach (Control ct in ctr.Controls)
                        {
                            if (ct.GetType().ToString() == "System.Web.UI.WebControls.TextBox")
                            {

                                string freeTxtQues = ?? ;

                                string TextCevap = ((System.Web.UI.WebControls.TextBox)ct).Text;

                                string deger = ct.ID.ToString();



                                Guid QuestionId = new Guid(deger.Substring(4));

                                SaveAnswers(this._PortalUserHelper.UserProxy.ContactId, EgitimKatilimcisi, QuestionId, TextCevap, freeTxtQues);

                            }
string freeTxtQues = ((System.Web.UI.WebControls.HiddenField)ct).Value;