Несколько обратных передач на CheckBox с AutoPostBack - PullRequest
0 голосов
/ 24 июня 2011

У меня проблема с двойной записью после события onClick на CheckBox с AutoPostBack. Когда я нажимаю на другой серверный элемент управления, запись возвращается, как и ожидалось.

Определение CheckBox:

<asp:CheckBox ID="chkCopyToRespDoc" runat="server" Text="<%$ Translation:JacieWeb.Admin.Notifications.CopyToRespDoc %>"
     OnCheckedChanged="chkCopyToRespDoc_CheckedChanged" AutoPostBack="true" CssClass="triggerOverlay" />

CodeBehind определение:

 protected void chkCopyToRespDoc_CheckedChanged(object sender, EventArgs e)
 {
     UpdateRecipients(RecipientsUpdateType.RespDoc);
 }

Я попытался установить для атрибута AutoWireUp значение false, но он только остановил выполнение события Page_Load при первой загрузке страницы.

Кто-нибудь имел такую ​​же проблему или знал решение?

Ответы [ 3 ]

0 голосов
/ 24 июня 2011

Вам нужно будет проверить, зарегистрировали ли вы событие CheckChange отдельно где-то в вашем коде, например

chkCopyToRespDoc.CheckedChanged += new EventHandler(chkCopyToRespDoc_CheckedChanged);

Может быть, в OnInit или page_Load вам придется удалить их, так как оно ужезарегистрировано

0 голосов
/ 29 июня 2011

Я нашел решение самостоятельно.

Мне просто нужно удалить свойство AutoPostBack флажка и двойная запись назад пропала.

<asp:CheckBox ID="chkCopyToRespDoc" runat="server" Text="<%$ Translation:JacieWeb.Admin.Notifications.CopyToRespDoc %>"
 OnCheckedChanged="chkCopyToRespDoc_CheckedChanged" CssClass="triggerOverlay" />

Спасибо за все предложения.

Поздравления

0 голосов
/ 24 июня 2011

Пожалуйста, используйте глобальный параметр aspx AutoEventWireUp = false.

<%@ Page Language="c#" AutoEventWireup="false" Codebehind="file.aspx.cs" Inherits="Namespace"%>
...