У меня есть веб-элемент управления, который содержит повторитель с кнопкой, которая использует команду для добавления элементов во вложенный повторитель
control ->
Rounds - [+] (add group) ->
Groups
Насколько я могу судить, мне нужно использовать ItemCommand
, поэтомуЯ могу передать аргумент раунда ID
, к которому я добавлю группу, однако, когда я выполняю команду добавления и затем обновляю страницу, команда запускается снова.
Я не хочу, чтобы это произошло, есть ли какой-то способ узнать, что браузер проходит обновление, чем, может быть, я могу установить cookie или переменную сеанса?
Использование перенаправления не работает, так как я использую переменную сеанса для хранениясписок раундов и чтобы убедиться, что у меня есть только один экземпляр этой переменной в любое время, я удаляю его и добавляю как новый, когда страница открывается впервые, и это, кажется, приводит к сбросу списка.
Здеськод для события ItemCommand
.
protected void RoundsRepeater_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "AddGroup")
{
if (e.CommandArgument.ToString().AsID() > 0)
{
Control ctrl = e.Item.FindControl("RuleGroupListctrl");
if (ctrl != null && ctrl is RuleGroupList)
{
CompetitionRuleGroup grp = new CompetitionRuleGroup();
CompetitionRound currentRound = Rounds.FirstOrDefault(r => r.Round == e.CommandArgument.ToString().AsID());
grp.CompetitionID = currentRound.CompetitionID;
if (currentRound != null)
currentRound.CompetitionRuleGroups.Add(grp);
}
}
}
}
Буду признателен за любую помощь.
Спасибо