2013-05-31 3 views
0

Почему это происходит (только несколько раз), когда я добавляю обработчик события в элемент управления, он не дает опции intellisense для генерации нового обработчика событий. Это приводит к тому, что Visual Studio 2012 не создает код в фоновом режиме, чтобы связать элемент управления с событием.ASP.net Событие, не генерирующее

Я могу создать событие вручную, но, как я уже сказал, он создает другой код фона для связывания элемента управления с этим обработчиком событий.

asp.net

<asp:DropDownList ID="drpdwnRecordId" runat="server" Visible="false" OnSelectedIndexChanged="MyOwnEventHandler_OnSelectedIndexChanged"> 
     <asp:ListItem Text="Please Select a Record ID" Value="nothing"></asp:ListItem> 
    </asp:DropDownList> 

C#

protected void MyOwnEventHandler_OnSelectedIndexChanged(object sender, EventArgs e) 
     { 

     } 

Почему это происходит? Как я могу это исправить, или есть способ, которым я могу пойти и написать этот код фона сам (и это хорошая идея?)

+0

Что вы хотите сделать в событии OnSelectedIndexChanged? Возможно, вам придется использовать 'Update Panel' или добавить' AutoPostBack = "true" ':) – zey

+0

Вы показываете по этой ссылке> http://stackoverflow.com/q/341080/1427849 – zey

ответ

0

Если вы положите его на страницу ui, он сгенерирует весь код, необходимый для вызовите функцию во время компиляции. Вы должны скомпилировать свой проект для создания этого кода.

Не требуется дополнительный код (написанный вами) помимо того, что вы здесь показываете.

+0

Я пробовал это, и не стрелять в это событие. – Ruan

+0

Уверены ли вы, что у вас нет опечатки (небольшое пропущенное?) – Hogan

+1

Подумайте, что есть ошибка в VS, где это иногда случается .. Перезагрузили проект, и он работал нормально .. Спасибо – Ruan

0

Вы можете перейти на страницу «Код по правой ссылке» (.aspx, .ascx) и выбрать «Просмотреть код». Вы можете связать свое событие с методом OnInit или OnLoad.

Но вы должны иметь определение своего контроля на этой странице!

DropDownList dropdwnRecordId; 

protected void override OnLoad(...) 
{ 
    dropdwnRecordId.SelectedIndexChanged += YourHandler; 
} 

С уважением, Дмитрий.

Смежные вопросы