Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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# 如何将行添加到tablecell DynamicCaly_C#_Asp.net_Asp.net Ajax - Fatal编程技术网

C# 如何将行添加到tablecell DynamicCaly

C# 如何将行添加到tablecell DynamicCaly,c#,asp.net,asp.net-ajax,C#,Asp.net,Asp.net Ajax,我有这个: <asp:Table id="tbl_Items" runat="server"> </asp:Table> <asp:Button ID="btn_AddNewItemField" runat="server" Text="Add New Item" onclick="btn_AddNewItemField_Click" /> 这就行了。 但当我点击按钮添加新行时,我称之为相同的代码,代码没有错误,但什么也没有发生。没有错误,没有行,

我有这个:

<asp:Table id="tbl_Items" runat="server">
</asp:Table>
<asp:Button ID="btn_AddNewItemField" runat="server" Text="Add New Item" 
    onclick="btn_AddNewItemField_Click" />
这就行了。
但当我点击按钮添加新行时,我称之为相同的代码,代码没有错误,但什么也没有发生。没有错误,没有行,什么都没有。
我做错了什么?

编辑:这个职位不会改变任何事情,我认为你还有其他错误;试试这个(这对我很有用):


受保护的无效页面加载(对象发送方、事件参数e)
{
TableRow行=新TableRow();
TableCell c1=新的TableCell();
c1.Controls.Add(newtextbox());
TableCell c2=新的TableCell();
c2.Controls.Add(新的DropDownList());
行。单元格。添加(c1);
行。单元格。添加(c2);
this.tbl_Items.Rows.Add(row);
btn_AddNewItemField.Click+=新事件处理程序(btnAddNewItemFieldClick);
}
void btnAddNewItemFieldClick(对象发送方,事件参数e)
{
抛出新的NotImplementedException();
}

编辑:该职位不会改变任何东西,我认为您还有其他错误;试试这个(这对我很有用):


受保护的无效页面加载(对象发送方、事件参数e)
{
TableRow行=新TableRow();
TableCell c1=新的TableCell();
c1.Controls.Add(newtextbox());
TableCell c2=新的TableCell();
c2.Controls.Add(新的DropDownList());
行。单元格。添加(c1);
行。单元格。添加(c2);
this.tbl_Items.Rows.Add(row);
btn_AddNewItemField.Click+=新事件处理程序(btnAddNewItemFieldClick);
}
void btnAddNewItemFieldClick(对象发送方,事件参数e)
{
抛出新的NotImplementedException();
}

您需要的是一点状态管理 试试这个

受保护的无效页面加载(对象发送方,事件参数e)
{
如果(!IsPostBack)
AddRow(真);
其他的
AddRows();
}
受保护的无效btn\u AddNewItemField\u单击(对象发送者,事件参数e)
{
AddRow(真);
}
void AddRow(bool addCounter)
{
TableRow行=新TableRow();
TableCell c1=新的TableCell();
c1.Controls.Add(newtextbox());
TableCell c2=新的TableCell();
c2.Controls.Add(新的DropDownList());
行。单元格。添加(c1);
行。单元格。添加(c2);
this.tbl_Items.Rows.Add(row);
if(addCounter)
{
如果(视图状态[“行计数”]==null)
视图状态[“行计数”]=1;
其他的
{
int count=((int)ViewState[“rowCount”]);
视图状态[“行计数”]=++计数;
}
}
}
void AddRows()
{
如果(视图状态[“行计数”]==null)
返回;
int count=((int)ViewState[“rowCount”]);

对于(inti=1;i您需要的是一点状态管理 试试这个

受保护的无效页面加载(对象发送方,事件参数e)
{
如果(!IsPostBack)
AddRow(真);
其他的
AddRows();
}
受保护的无效btn\u AddNewItemField\u单击(对象发送者,事件参数e)
{
AddRow(真);
}
void AddRow(bool addCounter)
{
TableRow行=新TableRow();
TableCell c1=新的TableCell();
c1.Controls.Add(newtextbox());
TableCell c2=新的TableCell();
c2.Controls.Add(新的DropDownList());
行。单元格。添加(c1);
行。单元格。添加(c2);
this.tbl_Items.Rows.Add(row);
if(addCounter)
{
如果(视图状态[“行计数”]==null)
视图状态[“行计数”]=1;
其他的
{
int count=((int)ViewState[“rowCount”]);
视图状态[“行计数”]=++计数;
}
}
}
void AddRows()
{
如果(视图状态[“行计数”]==null)
返回;
int count=((int)ViewState[“rowCount”]);
对于(int i=1;i什么是“页面加载”代码?这可能是由于“回发”问题造成的。
当你点击一个按钮时,代码会返回到“页面加载”功能

试图在页面加载函数中包含带有“if(!IsPostBack){}”的代码,以避免出现问题

像这样

Public void Page_Load()
{
     if(!IsPostBack)
     {

        //....Your code
     }

}
“页面加载”的代码是什么?这可能是由于“回发”问题造成的。 当你点击一个按钮时,代码会返回到“页面加载”功能

试图在页面加载函数中包含带有“if(!IsPostBack){}”的代码,以避免出现问题

像这样

Public void Page_Load()
{
     if(!IsPostBack)
     {

        //....Your code
     }

}

什么是
tbl\u代币
?什么是
tbl\u代币
protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
            AddRow(true);
        else
            AddRows();
    }
    protected void btn_AddNewItemField_Click(object sender, EventArgs e)
    {
        AddRow(true);
    }
    void AddRow(bool addCounter)
    {
        TableRow row = new TableRow();

        TableCell c1 = new TableCell();
        c1.Controls.Add(new TextBox());

        TableCell c2 = new TableCell();
        c2.Controls.Add(new DropDownList());

        row.Cells.Add(c1);
        row.Cells.Add(c2);

        this.tbl_Items.Rows.Add(row);

        if (addCounter)
        {
            if (ViewState["rowCount"] == null)
                ViewState["rowCount"] = 1;
            else
            {
                int count = ((int)ViewState["rowCount"]);
                ViewState["rowCount"] = ++count;
            }
        }
    }
    void AddRows()
    {
        if (ViewState["rowCount"] == null)
            return;
        int count = ((int)ViewState["rowCount"]);
        for (int i = 1; i <= count; i++)
        {
            AddRow(false);
        }
    }
Public void Page_Load()
{
     if(!IsPostBack)
     {

        //....Your code
     }

}