Как преобразовать строку в тип int в С#?

Я беру строковое значение из текстового поля с именем txtLastAppointmentNo и Я хочу преобразовать его в int, а затем сохранить его в базе данных с использованием Linq в sql, но я получаю ошибку "входная строка не в правильном формате".

Моя строка ввода - 2.

Мой код:

      objnew.lastAppointmentNo=Convert.ToInt32(txtLastAppointmenNo.Text);

Пожалуйста, укажите мою ошибку.

Ответ 1

Предполагая, что вы используете WebForms, вам просто нужно получить доступ к значению текстового поля, а не к самому текстовому поле:

objnew.lastAppointmentNo = Convert.ToInt32(txtLastAppointmenNo.Text);

Или если вы ссылаетесь на элемент управления HTML, то:

objnew.lastAppointmentNo = Convert.ToInt32(Request["txtLastAppointmenNo"]);

Ответ 2

Вы также можете выбрать int.Parse или int.TryParse или Convert.ToInt32

//int.Parse
int num = int.Parse(text);
//Convert.ToInt32
int num = Convert.ToInt32(text);

//int.TryParse
string text1 = "x";
        int num1;
        bool res = int.TryParse(text1, out num1);
        if (res == false)
        {
            // String is not a number.
        }

Ответ 3

Ответ для меня был пустой строкой!

В objnew.lastAppointmentNo=Convert.ToInt32(txtLastAppointmenNo.Text);, txtLastAppointmenNo.Text было пустым значением.