Проблема с проверкой событий ASP.NET 2.0 состоит в том, что это все или ничего и немного тяжелые руки.Я прочитал статью , в которой объясняется, что вам следует делать здесь.
В основном вам необходимо зарегистрировать дочерние элементы управления пользовательского элемента управления с помощью механизма проверки событий.
C#
protected override void Render(HtmlTextWriter writer)
{
// Register controls for event validation
foreach (Control c in this.Controls)
{
this.Page.ClientScript.RegisterForEventValidation(
c.UniqueID.ToString()
);
}
base.Render(writer);
}
VB
Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
For Each aControl As Control In Me.Controls
Me.Page.ClientScript.RegisterForEventValidation(aControl.UniqueID.ToString)
Next aControl
MyBase.Render(writer)
End Sub
Теперь это может не решить вашу проблему, потому что я не уверен, как вы возвращаете строку.В другой статье объясняется, что проверка события представляет собой комбинацию уникального идентификатора элемента управления и всех значений, которые он может передать обратно.Если вы используете значение command
кнопки для передачи текста, у вас могут возникнуть проблемы с этой задачей.
Если событие, вызывающее проблему, - это щелчок, то регистрация элементов управления пользовательского элемента управлениядолжен сделать свое дело.