首页 > 解决方案 > 如何使用 C# 将每个按钮单击的名称添加到字符串生成器

问题描述

我正在编写订票代码。如果假设有 30 个座位,我为每个座位添加了 Button_click。我能够得到每个座位的名称。但是我不确定如何将每个按钮的按钮名称添加到字符串生成器中,以便在按下 save(Button31_Click) 按钮时将其一个接一个地添加到表中。

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Ticketbooking
{
public partial class WebForm1: System.Web.UI.Page
{
  public void Page_Load(object sender, EventArgs e)
    {
        string Seatname = "";
        String output = "";
        string sql = @"select* from[dbo].[BookedTickets]";
        string connectionstring = @"Data 
        Source(local);InitialCatalog=master;Integrated 
        Security=SSPI";
        SqlConnection cnn = new 
        SqlConnection(connectionstring);
        cnn.Open();
        SqlCommand command = new SqlCommand(sql, cnn);
        SqlDataReader dataReader = command.ExecuteReader();
        while (dataReader.Read())
        {
        output = output + dataReader.GetValue(0) + 
        dataReader.GetValue(1);
        }
        StringBuilder strbuild = new StringBuilder();
        strbuild.Append(Seatname);
    }
    public void Button1_Click(object sender, EventArgs e)
    {
            Button butt1 = (Button)sender;
            string Seatname= butt1.Text;
    }
    public void Button2_Click(object sender, EventArgs e)
    {
            Button butt2 = (Button)sender;
            string Seatname= butt2.Text;
    }
    public void Button3_Click(object sender, EventArgs e)
    {
            Button butt3 = (Button)sender;
            string Seatname = butt3.Text;
    }
    public void Button4_Click(object sender, EventArgs e)
    {
            Button butt4 = (Button)sender;
            string Seatname = butt4.Text;
    }
    public void Button5_Click(object sender, EventArgs e)
    {
            Button butt5 = (Button)sender;
            string Seatname = butt5.Text;
    }
    public void Button6_Click(object sender, EventArgs e)
    {
            Button butt6 = (Button)sender;
            string Seatname= butt6.Text;
    }
    public void Button7_Click(object sender, EventArgs e)
    {
            Button butt7 = (Button)sender;
            string Seatname= butt7.Text;
    }
    public void Button8_Click(object sender, EventArgs e)
    {
            Button butt8 = (Button)sender;
            string Seatname = butt8.Text;
    }
    public void Button9_Click(object sender, EventArgs e)
    {
            Button butt9 = (Button)sender;
            string Seatname = butt9.Text;
    }
    public void Button10_Click(object sender, EventArgs e)
    {
            Button butt10 = (Button)sender;
            string Seatname = butt10.Text;
    }
    public void Button11_Click(object sender, EventArgs e)
    {
            Button butt11 = (Button)sender;
            string Seatname= butt11.Text;
    }
    public void Button12_Click(object sender, EventArgs e)
    {
            Button butt12 = (Button)sender;
            string Seatname = butt12.Text;
    }
    public void Button13_Click(object sender, EventArgs e)
    {
            Button butt13 = (Button)sender;
            string Seatname = butt13.Text;
    }
    public void Button14_Click(object sender, EventArgs e)
    {
            Button butt14 = (Button)sender;
            string Seatname = butt14.Text;
    }
    public void Button15_Click(object sender, EventArgs e)
    {
            Button butt15 = (Button)sender;
            string Seatname= butt15.Text;
    }
    public void Button16_Click(object sender, EventArgs e)
    {
            Button butt16 = (Button)sender;
            string Seatname= butt16.Text;
    }
    public void Button17_Click(object sender, EventArgs e)
    {
            Button butt17 = (Button)sender;
            string Seatname = butt17.Text;
    }
    public void Button18_Click(object sender, EventArgs e)
    {
            Button butt18 = (Button)sender;
            string Seatname= butt18.Text;
    }
    public void Button19_Click(object sender, EventArgs e)
    {
            Button butt19 = (Button)sender;
            string Seatname= butt19.Text;
    }
    public void Button20_Click(object sender, EventArgs e)
    {
            Button butt20 = (Button)sender;
            string Seatname= butt20.Text;
    }
    public void Button23_Click(object sender, EventArgs e)
    {
            Button butt23 = (Button)sender;
            string Seatname= butt23.Text;
    }
    public void Button21_Click(object sender, EventArgs e)
    {
            Button butt21 = (Button)sender;
            string Seatname= butt21.Text;
    }
    public void Button22_Click(object sender, EventArgs e)
    {
            Button butt22 = (Button)sender;
            string Seatname = butt22.Text;
    }
    public void Button24_Click(object sender, EventArgs e)
    {
            Button butt24 = (Button)sender;
            string Seatname = butt24.Text;
    }
    public void Button25_Click(object sender, EventArgs e)
    {
            Button butt25 = (Button)sender;
            string Seatname= butt25.Text;
    }
    public void Button26_Click(object sender, EventArgs e)
    {
            Button butt26 = (Button)sender;
            string Seatname= butt26.Text;
    }
    public void Button27_Click(object sender, EventArgs e)
    {
            Button butt27 = (Button)sender;
            string Seatname = butt27.Text;
    }
    public void Button28_Click(object sender, EventArgs e)
    {
            Button butt28 = (Button)sender;
            string Seatname= butt28.Text;
    }
    public void Button29_Click(object sender, EventArgs e)
    {
            Button butt29 = (Button)sender;
            string Seatname= butt29.Text;
    }
    public void Button30_Click(object sender, EventArgs e)
    {
            Button butt30 = (Button)sender;
            string Seatname = butt30.CommandName;
    }     
    public void Button31_Click(object sender, EventArgs e)
    {
       string sql = @"Insert into [dbo].[BookedTickets] 
       ([SeatNo],[Status])values('"+ Seatname+"','true')";
       string connectionstring = @"Data Source=(local);Initial 
       Catalog=master;Integrated Security=SSPI";
       SqlConnection cnn = new 
       SqlConnection(connectionstring);
       cnn.Open();
       SqlDataAdapter adapter = new SqlDataAdapter(sql, cnn);
       DataTable dt = new DataTable();
       adapter.Fill(dt);
       }
     }
   }

问候,

萨普纳

标签: c#asp.netwebforms

解决方案


不要创建 30 个按钮,只需动态创建它们:

 string Seatname = "";
        String output = "";
        string sql = @"select* from[dbo].[BookedTickets]";
        string connectionstring = @"Data 
        Source(local);InitialCatalog=master;Integrated 
        Security=SSPI";
        SqlConnection cnn = new 
        SqlConnection(connectionstring);
        cnn.Open();
        SqlCommand command = new SqlCommand(sql, cnn);
        SqlDataReader dataReader = command.ExecuteReader();
        while (dataReader.Read())
        {
             Button btn = new Button();
             btn.Text = SeatNameorWhatEver // set any properties
             btn.Click += (s,e) => {
                 Button bt = (Button)s;
                 string Seatname = bt.Text;
               };
        }

当然,您必须设置每个按钮的位置。将其添加到FormPanel或其他


推荐阅读