Я создал таблицу HTML в коде позади (ASP-C #), используя теги HTML для извлечения данных из базы данных.Работает нормально.Затем я добавил новый столбец для кнопки редактирования и кнопки удаления, используя теги HTML таким же образом.
Аналогичным образом я создал панель div для извлечения данных из базы данных (эта панель используется для проверки доступности автомобиля).Используя данные цикла while, получить этот div.У него также есть кнопка с именем book.
Теперь я хочу создать событие onserverckick для этих кнопок.И получить выбранный идентификатор в каждой строке.Поскольку я хочу сделать заказ в соответствии с выбранным идентификатором.
Я пробовал несколько способов, но не смог найти решение этой проблемы.
HTML Table Code
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
//Create Database Connection
SqlConnection con = new SqlConnection("Data Source= LAPTOP-J70EHC58 ; Initial Catalog= Bus_Management_System ; Integrated Security = True ; Connect Timeout = 30 ; ");
con.Open();
//Retrieve package details
string sqlst = "SELECT * FROM Package ";
SqlCommand cmd = new SqlCommand(sqlst, con);
StringBuilder table = new StringBuilder();
SqlDataReader dr = cmd.ExecuteReader();
//Create Table
table.Append("<table id='datatable-buttons' class='table table-striped table-bordered'>");
table.Append("<thead>");
table.Append("<tr>");
table.Append("<th>Package ID</th>");
table.Append("<th>Package Name</th>");
table.Append("<th>Rate Per KM (Rs.) </th>");
table.Append("<th>Rate Per Additional Day (Rs.) </th>");
table.Append("<th>Advanced_Per_KM (Rs.) </th>");
table.Append("<th>Action</th>");
table.Append("</tr>");
table.Append("</thead>");
table.Append("<tbody>");
if (dr.HasRows)
{
while(dr.Read())
{
//display package details
table.Append("<tr>");
table.Append("<td>" + dr[0] + "</td>");
table.Append("<td>" + dr[1] + "</td>");
table.Append("<td>" + dr[2] + "</td>");
table.Append("<td>" + dr[3] + "</td>");
table.Append("<td>" + dr[4] + "</td>");
table.Append("<td><center><button id='btnEdit' class='btn btn-round btn-info btn-xs' runat='server' onserverclick='btnEdit_ServerClick' >Edit</button><button id='btnDelete' class='btn btn-round btn-danger btn-xs' runat='server' >Delete</button></center></td>");
table.Append("</tr>");
}
}
table.Append("</tbody>");
table.Append("</table>");
pnlTable.Controls.Add(new Literal { Text = table.ToString() });
con.Close();
}
HTML-код Div
protected void btnCheckAvailability_Click(object sender, EventArgs e)
{
try
{
//Create Database Connection
SqlConnection con = new SqlConnection("Data Source= LAPTOP-J70EHC58 ; Initial Catalog= Bus_Management_System ; Integrated Security = True ; Connect Timeout = 30 ; ");
con.Open();
StringBuilder table = new StringBuilder();
//string sqlst3 = " SELECT Route_Name FROM Route WHERE (SELECT Route_ID FROM Bus WHERE Status = 'Available' AND Package_ID = (SELECT Package_ID FROM Package WHERE Package_Name = '" + txtBusPackageName.Value + "')) = Route.Route_ID ";
//SqlCommand cmd3 = new SqlCommand(sqlst3, con);
//string routeName = Convert.ToString(cmd3.ExecuteScalar());
//string sqlst4 = " SELECT First_Name FROM Employee WHERE (SELECT Owner_ID FROM Bus WHERE Status = 'Available' AND Package_ID = (SELECT Package_ID FROM Package WHERE Package_Name = '" + txtBusPackageName.Value + "')) = Employee.Employee_ID AND Employee.Position = 'Owner' ";
//SqlCommand cmd4 = new SqlCommand(sqlst4, con);
//string ownerName = Convert.ToString(cmd4.ExecuteScalar());
//Retrieve package details
string sqlst2 = "SELECT * FROM Bus WHERE Status = 'Available' AND Package_ID = (SELECT Package_ID FROM Package WHERE Package_Name = '" + txtBusPackageName.Value + "') ";
SqlCommand cmd2 = new SqlCommand(sqlst2, con);
SqlDataReader dr = cmd2.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
//display package details
table.Append("<div class='col-md-4 profile_details'>");
table.Append("<div class='well profile_view'>");
table.Append("<div class='col-sm-12'>");
table.Append("<h4 class='brief green'><i>" + dr[6] + "</i></h4>");
table.Append("<div class='left col-xs-7'>");
table.Append("<h2>" + dr[1] + " - " + dr[0] + "</h2>");
table.Append("<p><strong>Total Seats: </strong>" + dr[3] + "</p>");
table.Append("<ul class='list-unstyled'>");
table.Append("<li>Package Name: " + txtBusPackageName.Value + " </li>");
table.Append("<li>Bus Type: " + dr[4] + " </li>");
table.Append("<li>Bus Owner: " + dr[8] + " </li>");
table.Append("</ul>");
table.Append("</div>");
table.Append("<div class='right col-xs-5 text-center'>");
table.Append("<img src='images/bus1.jpg' style='width: 106px; height: 112px; ' class='img-circle img-responsive'>");
table.Append("</div>");
table.Append("</div>");
table.Append("<div class='col-xs-12 bottom text-center'>");
table.Append("<div class='col-xs-12 col-sm-6 emphasis'>");
table.Append("<p class='ratings'>");
table.Append("<a>4.0</a>");
table.Append(" <a href=''><span class='fa fa-star'></span></a>");
table.Append(" <a href=''><span class='fa fa-star'></span></a>");
table.Append(" <a href=''><span class='fa fa-star'></span></a>");
table.Append(" <a href=''><span class='fa fa-star'></span></a>");
table.Append(" <a href=''><span class='fa fa-star-0'></span></a>");
table.Append("</p>");
table.Append("</div>");
table.Append("<div class='col-xs-12 col-sm-6 emphasis'>");
table.Append("<button type='button' class='btn btn-danger btn-xs btn-round pull-right'>Book Now</button>");
table.Append("</div>");
table.Append("</div>");
table.Append("</div>");
table.Append("</div>");
}
}
panelBook.Controls.Add(new Literal { Text = table.ToString() });
con.Close();
}
catch (Exception exception)
{
Response.Write(exception);
}
}