gpt4 book ai didi

button - ASP.NET 以编程方式添加带有事件的按钮

转载 作者:行者123 更新时间:2023-12-01 12:54:54 24 4
gpt4 key购买 nike

我正在制作一个动态表,只要单击添加行按钮就会添加行。我正在以编程方式创建按钮并将其添加到表头。在该按钮下方和同一列上,也会有删除行按钮。

不过我遇到了一个问题,当我点击按钮时,事件没有被调用。我是否正确创建了按钮?如果没有,那我该怎么做?如果我是,那么你知道问题出在哪里吗?

区域Add_Table_Header

    TableHeaderCell thcOne = new TableHeaderCell();
TableHeaderCell thcTwo = new TableHeaderCell();
TableHeaderCell thcThree = new TableHeaderCell();
TableHeaderCell thcrFour = new TableHeaderCell();
TableHeaderCell thcFive = new TableHeaderCell();
TableCell thcRowAction = new TableCell(); //THIS IS THE COLUMN WITH THE
//ADD BUTTON

thcOne.Text = "Who";
thcTwo.Text = "Date Started";
thcThree.Text = "Date Ended";
thcrFour.Text = "Causes?";
thcFive.Text = "Result";

//HERE IS WHERE I CREATE AND ADD THE BUTTON

Button addRowButton = new Button();
addRowButton.Text = "Add Row";
addRowButton.Click += new EventHandler(this.AddNewRow_Click);
thcRowAction.Controls.Add(addRowButton);

TableHeaderRow headerRow = new TableHeaderRow();
headerRow.Cells.Add(thcOne);
headerRow.Cells.Add(thcTwo);
headerRow.Cells.Add(thcThree);
headerRow.Cells.Add(thcrFour);
headerRow.Cells.Add(thcFive);
headerRow.Cells.Add(thcRowAction);

table.Rows.Add(headerRow);

#endregion


protected void AddNewRow_Click(object sender, EventArgs e)
{
if (ViewState["RowsCount"] != null)
{
numOfRows = Convert.ToInt32(ViewState["RowsCount"]);
GenerateTable(numOfRows);
}
}

按钮再次出现,但没有输入正确的事件方法。感谢您的帮助和时间 :)

顺便说一下,当我以声明方式进行时,例如:

<asp:Button ID="BTNAdd" runat="server" Text="Add New Row" OnClick="AddNewRow_Click" />

该事件将注册并完全正常工作。

新信息:我也出现了一个删除按钮,我没有用它注册任何类型的事件,但是当我点击它时,它做的事情与添加行按钮完全相同,这可能是因为母版页或不同的来源告诉按钮首先做什么或默认做什么?

谢谢 :)

最佳答案

您应该在页面的 Init 事件处理程序中添加动态控件,以便适本地触发 ViewState 和事件。

尝试这样做:

protected void Page_Init(object sender, EventArgs e)     
{
Button btn = new Button();
btn.ID = "btnTest";
btn.Text = "I was dynamically created";
btn.Click += new EventHandler(btnTest_Click);
Panel1.Controls.Add(btn);
}

关于button - ASP.NET 以编程方式添加带有事件的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10387856/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com