期待する動き
動的に生成したボタンのクリックイベントを発生させたい
現状
1.動的にボタンを生成することは可能
2.動的に生成したボタンをクリックすると、postbackが発生し、生成したボタンが消える
該当のソースコード
HTML
1<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.Master" AutoEventWireup="true" CodeBehind="Event.aspx.cs" Inherits="EventHandlerTest.Event" %> 2 3<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> 4</asp:Content> 5<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 6 <div id="divEvent" runat="server"> 7 <asp:Label ID="lblTest" runat="server" Text="テスト"></asp:Label> 8 <asp:PlaceHolder ID="PlaceHolder" runat="server"></asp:PlaceHolder> 9 <asp:LinkButton ID="LinkButtonTEST" runat="server" Text="ボタン" OnClick="LinkButtonTEST_Click"></asp:LinkButton> 10 </div> 11</asp:Content> 12
C#
1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Web; 5using System.Web.UI; 6using System.Web.UI.WebControls; 7 8namespace EventHandlerTest 9{ 10 public partial class Event : System.Web.UI.Page 11 { 12 private LinkButton btnEvent; 13 14 protected void Page_Load(object sender, EventArgs e) 15 { 16 17 } 18 19 private void getEvent() 20 { 21 btnEvent = new LinkButton(); 22 btnEvent.ID = "Event"; 23 btnEvent.Text = "削除"; 24 btnEvent.Click += new EventHandler(btnEvent_Click); 25 divEvent.Controls.Add(btnEvent); 26 } 27 28 protected void btnEvent_Click(object sender, EventArgs e) 29 { 30 lblTest.Text = "テスト成功"; 31 } 32 33 protected void LinkButtonTEST_Click(object sender, EventArgs e) 34 { 35 getEvent(); 36 } 37 } 38}
補足情報(FW/ツールのバージョンなど)
ASP.net
C#
VisualStudio2019
Windows10
.NET 4.8
回答1件
あなたの回答
tips
プレビュー