c# - 如何使用 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);
}
}
}
问候,
萨普纳
解决方案
不要创建 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;
};
}
当然,您必须设置每个按钮的位置。将其添加到Form
或Panel
或其他
推荐阅读
- android - 如何在本地从 firebase 中删除查询的数据?
- javascript - 将 TradingView 小部件嵌入到角度组件中
- php - isset - 使用 AJAX 请求而不是表单提交时的“名称”
- python - Python - TensorFlow 和 Keras
- arrays - 我用 Array 中的 randomElement 更改了我的 BackgroundImage,但它放大并且不完全适合
- javascript - Jest 检测到以下 2 个可能阻止 Jest 退出的打开句柄:
- scala - Spark Dataframe 删除到 Elasticsearch
- gtk - GtkImage 和 GdkPixbuf 有什么区别?
- php - 重定向不适用于自定义插件 wordpress
- machine-learning - Tensorflow model.train() 没有循环遍历所有数据