Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.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# 无法从动态ASP.Net表中读取元素_C#_Asp.net_Dynamic_Html Table - Fatal编程技术网

C# 无法从动态ASP.Net表中读取元素

C# 无法从动态ASP.Net表中读取元素,c#,asp.net,dynamic,html-table,C#,Asp.net,Dynamic,Html Table,我正在尝试从动态ASP.Net表中读取元素 该表在ASP页面中声明如下: <table id="ItemTable" runat="server"> <!-- Will be filled with the user items. --> </table> 它工作得很好——问题是,当我试图查找重复项时,它会找到表——但它找不到动态创建的单元格。我在if子句的末尾设置了一个断点,出于某种原因,尽管已经声明了一个名为AmountFor2的元素,并且找到了

我正在尝试从动态ASP.Net表中读取元素

该表在ASP页面中声明如下:

<table id="ItemTable" runat="server">
    <!-- Will be filled with the user items. -->
</table>

它工作得很好——问题是,当我试图查找重复项时,它会找到表——但它找不到动态创建的单元格。我在if子句的末尾设置了一个断点,出于某种原因,尽管已经声明了一个名为AmountFor2的元素,并且找到了表,但它找不到具有该ID的元素,并且创建了另一个重复的div。我很确定这是因为该元素是动态创建的;所以,我的问题是,如何找到动态声明的元素?

不要在ASP.NET中使用静态字段,它们将在所有请求中共享,也会导致锁定。为什么不使用Repeater或GridViews这样的web数据绑定控件,它也呈现为一个表。@TimSchmelter您能举一个包含所有这些内容的GridView的通用格式的例子吗?
public void AddDiv(shopItem item, int count)
{
    ContentPlaceHolder myCPH = (ContentPlaceHolder)this.Master.FindControl("PageContent"); // since i'm in a child of a master page, First i'm finding the CPH
    HtmlTable Table = (HtmlTable)myCPH.FindControl("ItemTable");//In the page, I'm finding the table
    Control possibleInstance = Table.FindControl("AmountFor" + item.ID); // here i'm looking for an element in the table which should be declared if I already created that item.
    if (possibleInstance != null) // making sure there are no duplicates.
    {
        return;
    }
    //more meaningless code
    TextBox Amount = new TextBox();
    Amount.ID = "AmoutFor" + item.ID;
    // some more less relevant code
    myCell.Controls.Add(Amount);
    // even more meaningless code
    rows[rows.Count - 1].Controls.Add(myCell);
    foreach (var tr in rows)
    {
        ItemTable.Controls.Add(tr);
    }
}