Я чувствую, что это куча из вас, знаете, что я имею в виду. Это работает, но я чувствую, что я переусердствовал с точки зрения жизненного цикла страницы (загрузка и обратная передача) и даже избыточности, которую я имею в каждом из операторов if здесь.
Что происходит, это:
- Этот метод вызывается очень
загрузка страницы (неважно, обратная связь или
безотносительно)
- Если пользователь отправляет
из-за того, что он уменьшает их общее количество баллов (под этими радиокнопками есть кнопка, позволяющая им отправлять и запрашивать баллы).
Так что я называю этот метод также сразу после
пользователь заявляет пункт (отправляет) который отбрасывает
эти точки от их общего количества в следующий раз. Так
на основе общего количества баллов в их
учетная запись, мне нужно включить / отключить эти
переключатели после обновления страницы после последней отправки
private void SetPointsOptions()
{
int totalPoints = customer.TotalPoints;
rbn200Points.Text = "200 pts";
rbn250Points.Text = "250 pts";
rbn400Points.Text = "400 pts";
rbn500Points.Text = "500 pts";
rbn600Points.Text = "600 pts";
// clear state of radio buttons & disable submit
if (totalPoints < 200)
{
rbn200Points.Enabled = false;
rbn250Points.Enabled = false;
rbn400Points.Enabled = false;
rbn500Points.Enabled = false;
rbn600Points.Enabled = false;
rbn200Points.Checked = false;
rbn250Points.Checked = false;
rbn400Points.Checked = false;
rbn500Points.Checked = false;
rbn600Points.Checked = false;
btnClaimRewardPoints.Enabled = false;
return;
}
if(totalPoints >= 200 && totalPoints < 250)
{
rbn200Points.Enabled = true;
}
else if(totalPoints >= 250 && totalPoints < 400)
{
rbn200Points.Enabled = true;
rbn250Points.Enabled = true;
}
else if(totalPoints >= 400 && totalPoints < 500)
{
rbn200Points.Enabled = true;
rbn250Points.Enabled = true;
rbn400Points.Enabled = true;
}
else if(totalPoints >= 500 && totalPoints < 600)
{
rbn200Points.Enabled = true;
rbn250Points.Enabled = true;
rbn400Points.Enabled = true;
rbn500Points.Enabled = true;
}
else if(totalPoints >= 600)
{
rbn200Points.Enabled = true;
rbn250Points.Enabled = true;
rbn400Points.Enabled = true;
rbn500Points.Enabled = true;
rbn600Points.Enabled = true;
}
}