Subit Timalsina Ответов: 0

Как получить идентификатор выбранной строки из таблицы


Прямо сейчас я работаю над веб-формами 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"] == "редактировать")

и если да, то запустите нужный вам код.

0 Ответов