Как получить идентификатор выбранной строки из таблицы
Прямо сейчас я работаю над веб-формами Asp .Net. Я использую таблицы, чтобы показать свои данные из базы данных. Я создал действия для вставки, редактирования, удаления, но вставка только работает. Я хочу сделать редактирование и удаление, но мне трудно получить идентификатор выбранной строки, чтобы отредактировать или удалить строку из таблицы. Именно это я и делал.
Что я уже пробовал:
public void DisplayRecord() { using (SqlConnection mySqlConnection = new SqlConnection(connectionString)) { using (SqlCommand mySqlCommand = new SqlCommand("ReadTransactions", mySqlConnection)) { try { mySqlCommand.CommandType = CommandType.StoredProcedure; //mySqlCommand.Connection = mySqlConnection; mySqlConnection.Open(); using (SqlDataReader QueryReader = mySqlCommand.ExecuteReader()) { if (QueryReader.HasRows) { while (QueryReader.Read()) { string id = QueryReader.GetString(0); string date = QueryReader.GetDateTime(1).ToString(); string amount = QueryReader.GetInt32(2).ToString(); string quantity = QueryReader.GetInt32(3).ToString(); string edit = ""; //table.Append("<table>"); data += "<tr><td>" + id + "</td><td>" + date + "</td><td>" + amount + "</td><td>" + quantity + "</td><td>" + "<button UseSubmitBehavior='False' type='button' runat='server' OnClick='edit_click'>Edit</button>" + "</td></tr>"; } } else { table.Append("<tr>No Record Found</tr>"); } } } catch (SqlException ex) { Console.WriteLine(ex.Message); } finally { mySqlConnection.Close(); } dataHolder.Text = data; } } } protected void edit_click(object sender, EventArgs e) { Console.WriteLine("Click Me"); Console.Read(); paymentBox.Text = ""; quantityBox.Text = "dasf"; }
F-ES Sitecore
Изучите учебники по редактируемым gridviews, вы не можете создавать серверные элементы управления таким образом, и вы не можете выдавать консольные команды, такие как Console.Читайте также, ваш код работает на сервере, поэтому кто-то должен будет предоставить консольный ввод на сервере.
Subit Timalsina
Я уже сделал с gridview, но я хотел попробовать его с html-таблицами, разве это не возможно через обычную html-таблицу?
an0ther1
Все возможно, у вас есть время, деньги и все такое... Выбрать 2.
Например: я хочу, чтобы это было быстро и дешево - это будет выглядеть не очень хорошо
Я хочу, чтобы это было быстро и хорошо - это будет недешево
Если вы создаете таблицу на сервере и вставляете ее в свой HTML-код, вы можете получить данные из нее в коде, но это грязно и не совсем то, что можно было бы считать лучшей практикой. как предложил F-ES Sitecore, используйте редактируемый GridView - это правильное решение.
Объединение строк и передача их на страницу означает, что многие жесткие кодировки и изменения в будущем будут неразумными.
Если вы настаиваете на создании таблицы, то используйте таблицу ASP и добавьте в нее столбцы и строки - см.; Класс таблицы MSDN
F-ES Sitecore
Это возможно, но вы должны использовать "сырое" html-кодирование, вы не можете создавать серверные элементы управления с такими событиями щелчка. Вам нужно будет либо создать динамические серверные элементы управления, либо, если вы хотите манипулировать html, использовать стандартные html-элементы управления. Поэтому необходимо создать html как
в <тип входного="отправить" название="btnEdit" значение=" "правка "" /&ГТ;
Чтобы запустить серверный код при нажатии кнопки, в событии загрузки страницы проверьте
если (запрос.Форма["btnEdit"] == "редактировать")
и если да, то запустите нужный вам код.