Я пытаюсь добавить атрибут OnClick к кнопке из кода. В зависимости от того, равен ли элемент Attending 0 или нет, будет определяться, какой атрибут OnClick будет добавлен. Когда я нажимаю кнопку с приведенным ниже кодом, я получаю следующую ошибку:
"Ошибка выполнения Microsoft JScript:
Sys.WebForms .PageRequestManagerServerErrorException: неверный аргумент обратной передачи
или обратного вызова. Проверка событий включена с помощью на странице. В целях безопасности
эта функция. проверяет, что аргументы для событий обратной передачи или обратного вызова
исходят от серверного элемента управления, который первоначально их обработал. Если
данные действительны и ожидаемы, используйте
метод ClientScriptManager.RegisterForEventValidation, чтобы
зарегистрировать данные обратной передачи или обратного вызова для проверки."
Что я делаю не так?
ASPX
Код
protected void Dl1_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
.....//removed other code to save space
Button SignupButton = (Button)e.Item.FindControl("SignupButton");
if (Attending == 0)
{
AttendingorNot.Text = "You are not attending";
AttendingorNot.Attributes.Add("class", "alert");
SignupButton.Text = "Attend";
SignupButton.Attributes.Add("class", "btn btn-large btn-success");
SignupButton.Click += new EventHandler(Submit_Add);
}
else
{
AttendingorNot.Text = "You are attending!";
AttendingorNot.Attributes.Add("class", "alert alert-success");
SignupButton.Text = "Remove";
SignupButton.Attributes.Add("class", "btn btn-large btn-danger");
SignupButton.Click += new EventHandler(Submit_Remove);
}
}
}
private void Submit_Remove(object sender, EventArgs e)
{
Response.Redirect("Default.aspx?msg=work");
}
private void Submit_Add(object sender, EventArgs e)
{
Response.Redirect("Default.aspx?msg=gone");
}
Подробнее здесь: https://stackoverflow.com/questions/190 ... codebehind