2016-02-04 2 views
0

У меня есть dropdownlist, что при выборе определенного элемента необходимо установить еще один dropdownlist.visible = true. К сожалению, я не могу получить dropdownlist (или любой другой dropdownlist на моем весь сайт), чтобы запустить его событие SelectedIndexChanged.VB DropDownList.SelectedIndexChanged Event Not Firing

Детали:

  • Это сайт, который был создан моим предшественником, и у меня нет времени, чтобы восстановить его или даже модернизировать это так, мне действительно нужно просто добавить одну особенность, чтобы завершить мой задача.
  • Сайт написан на Visual Studio .NET 2003.
  • В настоящее время, независимо от того, что я пытаюсь, событие SelectedIndexChanged никогда не срабатывает.

Я попытался следующие вещи:

  1. Set AutoPostBack="true"
  2. Набор AutoEventWireup="true"
  3. Набор EnableViewState="true"
  4. Добавить OnSelectedIndexChanged="ddlCLSortOptions_SelectedIndexChanged" в аспида: DROPDOWNLIST объект, который дает мне следующую ошибку :

    Compiler Error Message: BC30456: 'ddlCLSortOptions_SelectedIndexChanged' is not a member of 'ASP.reports_aspx'.

    Эта ошибка привела меня к пути проверки различий в именах Inherits и Class, но единственная разница, которую я обнаружил, заключается в том, что класс имеет имя reports, а Inherits - ProviderLicense.reports. Конечно, когда я меняю их на одинаковые совпадения, это порождает совершенно другую ошибку.

  5. Изменить ddlCLSortOptions_SelectedIndexChanged Подпись от Private до Protected, а затем даже до Public только для хорошей меры.
  6. Снимите Handles ddlCLSortOptions.SelectedIndexChanged и добавьте AddHandler опцию

я уверен, что есть еще, что я пробовал, но я не могу думать ни о чем другом.

Вот мой код:

reports.aspx

<%@ Page Language="vb" AutoEventWireup="true" Codebehind="reports.aspx.vb" Inherits="ProviderLicense.reports"%> 
... 
<asp:dropdownlist id="ddlCLSortOptions" style="POSITION: absolute; LEFT: 365px; Z-INDEX: 140; TOP: 315px" runat="server" AutoPostBack="True" Visible="False"> 
    <asp:ListItem Value="Provider" Selected="True">Provider</asp:ListItem> 
    <asp:ListItem Value="RecDate">Received Date</asp:ListItem> 
    <asp:ListItem Value="EntDate">Entered Date</asp:ListItem> 
    <asp:ListItem Value="DateComp">Date Completed</asp:ListItem> 
    <asp:ListItem Value="LicType">License Type</asp:ListItem> 
    <asp:ListItem Value="Investigator">Investigator</asp:ListItem> 
    <asp:ListItem Value="Worker">Worker</asp:ListItem> 
    <asp:ListItem Value="Disposition">Disposition</asp:ListItem> 
</asp:dropdownlist> 

reports.aspx.vb

Public Class reports 
Inherits System.Web.UI.Page 
Protected WithEvents ddlCLSortOptions As System.Web.UI.WebControls.DropDownList 
... 
Private Sub ddlCLSortOptions_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ddlCLSortOptions.SelectedIndexChanged 
    Label2.Text = "IT WORKED!" 'Just to see if the event fires 

    If ddlCLSortOptions.SelectedValue = "Disposition" Then 
     lblDisposition.Visible = True 
     ddlDisposition.Visible = True 
    Else 
     lblDisposition.Visible = False 
     ddlDisposition.Visible = False 
    End If 
End Sub 

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

+0

изменения тег VS в тег ASP привлечь соответствующий глаза – Plutonix

+0

спасибо, просто изменили его –

+0

Настройка AutoPostBack = True заставляет меня работать для меня. Попробуйте в новом проекте, чтобы проверить его. Если он не будет работать в вашем текущем проекте, удалите и заново создайте элемент управления. – Steve

ответ

0

Вы пробовали это?

набор AutoEventWireUp="false" в reports.aspx

установить OnSelectedIndexChanged="ddlCLSortOptions" в DropDownList тег в reports.aspx

изменения Private Sub к Protected Sub на OnSelectedIndexChanged события в reports.aspx.vb

+0

Я знал, что я установил каждый из них в одно время, но не был уверен, что если бы я специально их установил одновременно, я просто сделал это. Тем не менее, я получил следующую ошибку: ** BC30408: Метод 'Защищенный Dim WithEvents ddlCLSortOptions Как System.Web.UI.WebControls.DropDownList' не имеет той же подписи, что и делегат 'Делегат Sub EventHandler (отправитель As Object, e As System.EventArgs)». ** я понял, что вы, вероятно, имел в виду, чтобы быть' ddlClSortOptions_SelectedIndexChanged', но теперь я получаю эту ошибку: ** BC30456: „ddlClSortOptions_SelectedIndexChanged“ не является членом „ASP.reports_aspx“ ** –

+0

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

+0

Я ценю вас, заметив нижний регистр «L». К сожалению, это не проблема. Я по-прежнему получаю ту же ошибку, когда я ее использую: ** BC30456: 'ddlCLSortOptions_SelectedIndexChanged' не является членом 'ASP.reports_aspx'. ** –