Рейтинг:
1
OriginalGriff
Просто: пользовательский ввод не был допустимым целым числом.
Решение: не используйте Convert вообще. Всегда используйте соответствующий метод TryParse и сообщайте о проблемах пользователя обратно пользователю вместо того, чтобы предполагать, что он всегда будет печатать правильно.
Dim serial As Integer
If Not Integer.TryParse(txtserial.Text, serial) Then
' Report problem to user
...
Return
End If
sommr0
я пытаюсь разобрать метод но проблема все та же
OriginalGriff
Вы пробовали код, который я вам дал, точно так же, как я его показывал?
sommr0
я пытаюсь
охраняемых недействительными btnaddquestion_Click(объект отправителя, EventArgs в электронной)
{
var test = Convert.ToString(Session["CID"]);
int q = QAdapter.Вставка(инт.Синтаксический анализ("txtserial.Текст"), (Конвертировать.ToInt32("0")),
drpQpapername.Элемент.Текст, txtEname.Текст, txtquestion.Текст,
txta.Текст, txtb.Текст, txtc.Текст, txtd.Текст, DropDownListkey.Элемент.Текст);
QDT = QAdapter.ОТДЕЛЬНЫЕ ВОПРОСЫ();
GridViewADDQuestion.Источник данных = QDT;
GridViewADDQuestion.Привязку();
}
OriginalGriff
Это именно то, что я тебе показывал?
Нет - он использует int. Parse, который *все равно выдает исключение, если значение плохое*
Вот почему вы используете TryParse - он сообщает об ошибках через логическое возвращаемое значение, позволяя вам обрабатывать его правильно, а не предполагать, что пользовательский ввод в порядке.
sommr0
как это исправить? пожалуйста, исправьте мой код?
OriginalGriff
Посмотри на код, который я тебе уже дал! Я мало что могу добавить к этому-кроме использования преобразованного значения в вашем вызове функции, и я должен предположить, что вы можете решить, как это сделать без посторонней помощи...
Рейтинг:
1
F-ES Sitecore
Convert.ToInt32("txtserial.Text")
Вы преобразуете буквальный текст "txtserial. Text" в число, но, вероятно, хотите использовать свойство Text объекта txtserial, чтобы не использовать кавычки (кавычки обозначают строковый литерал)
Convert.ToInt32(txtserial.Text)
Это все равно будет ошибкой, если то, что находится в txtserial, не может быть преобразовано в число, поэтому google how to use int.Вместо этого попробуй спарситься.
sommr0
Как это исправить?