Я динамически создаю кнопки Image и помещаю их в заполнитель ASP.Когда пользователь нажимает на изображение (кнопку), оно должно обновить панель с информацией о школе.Панель обновляется правильно при первом нажатии кнопки, но когда я нажимаю другую кнопку, она вызывает сообщение назадВ этот второй, третий и т. Д. Следует обновить панель без обратной записи.
При создании кнопок я также создаю триггеры и устанавливаю идентификатор элемента управления в качестве идентификатора кнопки.Я отладил и убедился, что эти триггеры создаются правильно.
Создание кнопок и триггеров
int counter = 0;
foreach (DataRow row in tempTable.Rows)
{
var button = new ImageButton
{
ID = counter.ToString(),
CausesValidation = false
//OnClientClick= "return false;"
};
button.Command += new CommandEventHandler(buildSchoolInfo); //The onclick event that builds the school info
button.CommandName = "ImageButton" + counter.ToString();
button.CommandArgument = "Test" + counter.ToString();
SchoolListPH.Controls.Add(button); //Add image button to placeholder
AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
trigger.ControlID = button.ID;
//trigger.EventName = "Click";
schoolInfoUP.Triggers.Add(trigger); //Adding the trigger to the Update Panel
counter++;
}
Код ASPX
<div style="border: 1px solid black">
<asp:PlaceHolder ID="SchoolListPH" runat="server"></asp:PlaceHolder>
</div>
<%-- This is the literal that builds with all of the selected schools information --%>
<asp:UpdatePanel ID="schoolInfoUP" runat="server" >
<ContentTemplate>
<asp:Literal ID="litTable" runat="server"></asp:Literal>
</ContentTemplate>
</asp:UpdatePanel>