如何在Javascript中访问动态创建的控件(服务器端)

时间:2013-12-09 23:45:07

标签: c# javascript dynamic controls

大家好,我遇到了一个问题,需要一些帮助。我在代码后面(c#)动态创建了几个文本框,代表某种类型内存的数量字段。每个文本框都与price属性和size属性相关联。我的总体目标是使用Javascript更新(对于每个文本框,将数量乘以价格和大小属性,然后将所有数据相加),使用诸如onblur之类的命令或类似的东西,将“总大小”和“总价格”字段相加(我是如果有的话,可以选择不同的选项。我遇到的问题是我不知道如何从Javascript访问控件,因为它们是动态创建的。我跟Javascript裸露一些新东西:)

这是我背后的代码。在此先感谢我,我很感激。

for (int I = 0; I < DataSetCount; I++)
        {
            tbArrMemory[I] = new TextBox();
            lblmemory[I] = new Label();
        }
        while (N < DataSetCount)
        {

            tbArrMemory[N].Height = 20;
            tbArrMemory[N].Width = 20;
            tbArrMemory[N].Text = "0";
            tbArrMemory[N].ID = "tbArray" + N;
            tbArrMemory[N].Attributes.Add("onblur", "checkDimm(" + tbArrMemory[N].ClientID + ");");
            tbArrMemory[N].Attributes.Add("Price", dsMemory.Tables["MemoryConf"].Rows[N]["Price"].ToString());
            tbArrMemory[N].Attributes.Add("GBSize", dsMemory.Tables["MemoryConf"].Rows[N]["GBSize"].ToString());

            lblmemory[N].Width = 600;
            lblmemory[N].Text = dsMemory.Tables["MemoryConf"].Rows[N][dsCol].ToString();
            plhDrives.Controls.Add(lblmemory[N]);
            plhDrives.Controls.Add(tbArrMemory[N]);

            plhDrives.Controls.Add(new LiteralControl("<br/></br>"));
            N += 1;

        }

1 个答案:

答案 0 :(得分:0)

使用

document.getElementById("id")

在您的情况下,您将ID设置为

"tbArray" + N;

所以他们将是tbarray0,tbarray1等......你可能想要遍历它们。