我有一個dropdownlist
的是,當選擇一個特定的項目,需要設置另一個dropdownlist.visible = true
。不幸的是,我不能得到dropdownlist
(或在我的整個網站的任何其他dropdownlist
)解僱了SelectedIndexChanged
事件。VB DropDownList.SelectedIndexChanged事件不觸發
詳情:
- 這是由我的前任創建一個網站,我沒有要重建它,甚至升級的話,我真的需要簡單地添加這個功能完成的時間我任務。
- 該網站是用Visual Studio .NET 2003編寫的。
- 目前,無論我嘗試什麼,
SelectedIndexChanged
事件都不會觸發。
我曾嘗試以下的事情:
- 集
AutoPostBack="true"
- 設置
AutoEventWireup="true"
- 設置
EnableViewState="true"
添加
OnSelectedIndexChanged="ddlCLSortOptions_SelectedIndexChanged"
到ASP:下拉列表對象,這給了我下面的錯誤:Compiler Error Message: BC30456: 'ddlCLSortOptions_SelectedIndexChanged' is not a member of 'ASP.reports_aspx'.
此錯誤導致我下來檢查的繼承和類名的任何差異的道路,但我發現的唯一的區別是,類名爲
reports
和繼承是ProviderLicense.reports
。當然,當我將它們更改爲相同匹配時,會引發完全不同的錯誤。- 從
Private
的ddlCLSortOptions_SelectedIndexChanged
分更改爲Protected
,然後甚至Public
只是很好的措施。 - 取出
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
我希望這件事情簡單,我只是錯過了已經,但我現在可以嘗試幾乎任何東西。
變化VS標籤設置
OnSelectedIndexChanged="ddlCLSortOptions"
在reports.aspx
變化
Private Sub
到Protected Sub
在OnSelectedIndexChanged
事件的ASP標籤,以吸引合適眼睛 – Plutonix謝謝你只是改變它 –
設置AutoPostBack = True使它適合我。嘗試在一個新項目中測試它。如果它仍然不能在當前項目中運行,請刪除並重新創建該控件。 – Steve