В форме у меня есть группа Box, которая содержит вкладки управления с 4 вкладками.
Во второй вкладке у меня есть несколько текстовых полей, и перед сохранением данных мне нужно проверить ввод, введенный в эти текстовые поля. Обратите внимание, моя кнопка сохранения находится на последней вкладке.
Работает следующий тестовый сценарий:
- Неверный ввод в первом текстовом поле
- Неверный ввод во втором текстовом поле
- Нажмите кнопку
Однако в следующем тестовом сценарии выдается исключение «Ссылка на объект, не установленная для экземпляра объекта»:
- Неверный ввод в первом текстовом поле
- Нажмите кнопку
- Неверный ввод во втором текстовом поле
- нажмите кнопку
Я установил точку останова, и она показывает, что конкретное текстовое поле пусто. Это происходит с каждым текстовым полем, где я нарушаю порядок.
Пожалуйста, укажите мне, где я ошибаюсь и как я могу это исправить.
Ниже мой код, который я запускаю при нажатии кнопки.
private void btnOrderSave_Click(object sender, EventArgs e)
{
SaveOrder();
}
private void SaveOrder()
{
try
{
decimal? _marketRate, _bankcharges, _portcharges, _handlingcharges, _othercharges, _taxratio, _profitratio;
if (!String.IsNullOrEmpty(txtUnitPrice.Text))
{
if (valCtr.IsDecimal(txtUnitPrice.Text))
{
_marketRate = Convert.ToDecimal(txtUnitPrice.Text);
}
else
{
ErrorMessage("Rate is invalid");
return;
}
}
else
{
txtUnitPrice = null;
}
if (!String.IsNullOrEmpty(txtProfitRatio.Text))
{
if (valCtr.IsDecimal(txtProfitRatio.Text))
{
_marketRate = Convert.ToDecimal(txtProfitRatio.Text);
}
else
{
ErrorMessage("Profit ratio is invalid");
return;
}
}
else
{
txtProfitRatio = null;
}
}
catch (Exception ex)
{
AlertMessage(ex.InnerException + " :" + ex.Message + " : " + ex.StackTrace + " : " + ex.Source);
}
}