行追加ボタンをクリックするたびに行を追加する動的な表を作成しています。 ボタンをプログラムで作成し、それをテーブルヘッダーに追加します。 そのボタンの下に同じ行に削除行ボタンもあります。ASP.NETプログラムでイベントを含むボタンを追加する
ボタンをクリックすると問題が発生しますが、イベントが呼び出されていません。ボタンを正しく作成していますか?もしそうでなければ、どうすればいいのですか?私の場合、問題が何であるか知っていますか?
領域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);
}
}
もう一度、ボタンが表示されますが、それは正しいイベントメソッドを入力しません。
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" />
イベントは完全に罰金を登録して動作します:私はそれが宣言のようなやり方でお願いして時間:)
ため 感謝。
NEW INFO: 削除ボタンも表示されていますが、イベントの種類は登録しませんでしたが、クリックすると、行追加ボタンとまったく同じことができますマスターページまたは別のソースから、最初に何をすべきか、またはデフォルトで何をすべきかがわかります。
THANKS :)