Обновление GridView Row - PullRequest
       8

Обновление GridView Row

0 голосов
/ 13 февраля 2011
if (((LinkButton)GridView1.Rows[0].Cells[1].Controls[0]).Text == "Insert")
        {
            VendorProperties VP = new VendorProperties();
            VP.VendorName = ((TextBox)GridView1.Rows[0].Cells[3].Controls[0]).Text.ToString();
           try
            {
                VP.ABN = Convert.ToInt32(((TextBox)GridView1.Rows[0].Cells[4].Controls[0]).Text.ToString());
            }
            catch 
            {
                lblMessage.Text = "Please Enter a Number for ABN";

            }
                VP.VendorAddress1 = ((TextBox)GridView1.Rows[0].Cells[5].Controls[0]).Text.ToString();
            VP.VendorAddress2 = ((TextBox)GridView1.Rows[0].Cells[6].Controls[0]).Text.ToString();
            VP.VendorAddress3 = ((TextBox)GridView1.Rows[0].Cells[7].Controls[0]).Text.ToString();
            VP.State = ((TextBox)GridView1.Rows[0].Cells[8].Controls[0]).Text.ToString();
            VP.PostCode= ((TextBox)GridView1.Rows[0].Cells[9].Controls[0]).Text.ToString();
            VP.ContractorVendorContactName = ((TextBox)GridView1.Rows[0].Cells[10].Controls[0]).Text.ToString();
            VP.Phone = ((TextBox)GridView1.Rows[0].Cells[11].Controls[0]).Text.ToString();
            DropDownList DR = (DropDownList)GridView1.Rows[0].Cells[12].FindControl("DropDownList1");
            VP.EmailAddressID= Convert.ToInt32(DR.SelectedValue.ToString());
            PinDicDAO.InsertVendor(VP);
        }

Выше приведен мой код для вставки записи для базы данных через событие обновления строки gridview.элемент «VP.ABN» (который внутри try catch) является целым числом, и пользователь должен ввести целое число. Если пользователь вводит строку для ABN, мне нужно остановить вставку записи в базу данных и просто напечатать сообщение «Пожалуйста, введите номер дляABN ". В этом коде даже пользователь вводит строку, в которой отображается сообщение, и все же запись вставляется в базу данных, поскольку значение ABN равно 0. Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 13 февраля 2011

Во-первых, вы не должны использовать try catch таким образом.
Вы хотите проверить текстовое поле, если вы можете использовать выражение регулярного выражения. Я не слишком знаком с ними, но следующая ссылка должна помочь. Без проверки Вот источник msdn , если вам нужна дополнительная помощь.
Я думаю, что это должно решить вашу проблему, если я правильно понял вашу проблему.

...