Событие нажатия кнопки срабатывает только один раз .NET - PullRequest
1 голос
/ 12 апреля 2011

При первом нажатии кнопки вызывается обработчик событий и появляется всплывающее окно.После выхода из этого всплывающего окна при повторном нажатии кнопки обработчик событий вообще не вызывается.Я немного отладил код, не найдя ничего «по состоянию», которое могло бы испортить код, и, таким образом, предоставил только этот небольшой кусочек кода.Скажите, пожалуйста, если вы считаете, что для определения этой проблемы необходимы дополнительные ресурсы.

     <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ReferenceControl.ascx.cs" Inherits="DynamicForm.DynamicGenerator.Controls.ReferenceControl" %>
    <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>

    <%@ Register Src="~/DynamicGenerator/Controls/SearchControl.ascx" TagName="SearchControl" TagPrefix="dyncontrols" %>

    <asp:UpdatePanel ID="UpdatePanel1" runat="server" RenderMode="Inline" UpdateMode="Conditional"><ContentTemplate>
    <asp:HyperLink ID="link" runat="server"></asp:HyperLink>&nbsp;<asp:Button ID="btn" runat="server" Text="Välj" onclick="btn_Click" />
    </asp:Panel>
<ajaxToolkit:ModalPopupExtender ID="popUpControl" runat="server" TargetControlID="popupDummyTarget" PopupControlID="pnlSearch" BackgroundCssClass="modalBackground">
</ajaxToolkit:ModalPopupExtender>

protected void btn_Click(object sender, EventArgs e)
    {
        ShowSearch();
    }

void ShowSearch()
    {
                    //some stuff
        popUpControl.Show();
    }

Как мне заставить мою кнопку прослушивать мои запросы?

Я пыталсядобавление DataBind () в обработчик событий, к сожалению, это не сработало.

UPDATE1: второй щелчок генерирует эту ошибку в firebug:

необработанное исключение: [Exception ... "'Sys.WebForms.PageRequestManagerServerErrorException: Sys.WebForms.PageRequestManagerServerErrorExbackПроверка событий включена с использованием в конфигурации или <% @ Page EnableEventValidation = "true"%> на странице. В целях безопасности эта функция проверяет, что аргументы для событий обратной передачи или обратного вызова исходят от серверного элемента управления, который их первоначально представил.данные действительны и ожидаемы, используйте метод ClientScriptManager.RegisterForEventValidation, чтобы зарегистрировать данные обратной передачи или обратного вызова для проверки. 'при вызове метода: [nsIDOMEventListener :: handleEvent] "nsresult:" 0x8057001c (NS_ERROR_XPC_JS_THREW_JS_OBJECT) "location:" JS frame :: chrome: //firebug/content/spy.js :: callPageHandler :: line 744 "data: no1012 *

1 Ответ

0 голосов
/ 12 апреля 2011

Загрузите Firebug и посмотрите, нет ли ошибок JavaScript после первого клика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...