2

我对asp.net有点陌生,而且我的英语也不是很好,无论如何我希望你仍然能明白我的意思。不,我在这里有一个问题,基本上我试图将我的应用程序与 LinkedIn 集成,所以我使用的是 REST API,当我单击一个按钮时,它会将我的页面重定向到从 LinkedIn 请求数据,它返回 XML 数据,它包含用户的教育数据,用户的教育数据的数量是不确定的,所以我决定从后面(“C#”)生成文本框控件。我这样做:

            TextBox txt;
            int i;

            foreach (var element in person)
            {
                if ((element.Name == "first-name") || (element.Name == "last-name"))
                {
                    tbName.Text = tbName.Text + " " + element.Value;
                }
                else if (element.Name == "skills")
                {
                    i = 1;

                    foreach (var child in element.Elements())
                    {
                        if (child.Name == "skill")
                        {
                            txt = new TextBox();
                            txt.ID = "tbSkills" + i;
                            txt.Width = 200;
                            txt.Visible = true;
                            txt.ReadOnly = true;
                            txt.Text = child.Element("skill").Element("name").Value;
                            form1.FindControl("divMoreSkills").Controls.Add(txt);
                            i++;
                        }
                    }
                }
                else if (element.Name == "industry")
                {
                    tbIndustry.Text = element.Value;
                }
                else if (element.Name == "educations")
                {
                    i = 1;

                    foreach (var child in element.Elements())
                    {
                        if (child.Name == "education")
                        {

                            txt = new TextBox();
                            txt.ID = "tbEducations" + i;
                            txt.Width = 200;
                            txt.Visible = true;
                            txt.ReadOnly = true;
                            txt.Text = child.Element("school-name").Value;
                            form1.FindControl("divMoreEducations").Controls.Add(txt);
                            i++;
                        }
                    }
                }

            }
        }

我的问题是,如果我想使用之前生成的文本框,C# 会识别它吗?因为我生成的控件没有 runat server 属性。

谢谢你。

4

2 回答 2

2

如果我想使用之前生成的文本框,C# 会识别它吗?因为我生成的控件没有 runat server 属性。

您不必指定runat="server",因为您将通过后面的代码创建服务器端控件。runat="server"aspx页面上用于识别服务器端控件。

要找到它,您需要确保这些控件在回邮中可用。您可以像在form1. 使用Page.FindControl

于 2013-04-01T07:52:20.570 回答
0

是的,它会..您可以使用添加的控件,例如

TextBox txt = (TextBox )Page.FindControl("tbSkills0");
于 2013-04-01T07:50:32.687 回答