Когда я меняю выбор своего выпадающего списка, событие «Изменить» не срабатывает. Я поставил точку останова в методе, и программа не останавливается.asp: DropdownList не срабатывает для события SelectedIndexChanged
Это моя разметка:
<form id="form1" runat="server">
<div style='text-align:center;'>
<a style='text-decoration:none;font-size:16px;color:blue;background-color:white;width:200px;padding:4px;' href='LocationDetails.aspx?Location_ID=0' target='detailPanel'> Add Location
</a></div>
 
<div style='text-align:left;'>
<asp:Label ID="FacilityTypeLbl" runat="server">Facility Type:</asp:Label>
<asp:DropDownList ID="FacilityTypeDDL" runat="server" AutoPostBack="true" EnableViewState="true" OnSelectedIndexChanged="FacilityTypeDDL_SelectedIndexChanged">
</asp:DropDownList>
</div>
<hr/>
<%ListLocations()%>
</form>
Это мой метод Page_Load для заполнения списка и она отлично работает.
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
GetServiceTypes()
FacilityTypeDDL.DataSource = dtServiceTypes
FacilityTypeDDL.DataTextField = dtServiceTypes.Columns("Title").ToString()
FacilityTypeDDL.DataValueField = dtServiceTypes.Columns("ID").ToString()
FacilityTypeDDL.DataBind()
End If
End Sub
Это мое событие изменения:
Protected Sub FacilityTypeDDL_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles FacilityTypeDDL.SelectedIndexChanged
strFacilityValue = FacilityTypeDDL.SelectedValue
ListLocations()
End Sub
я поставил точку останова на первой строке кода и после изменения выбора выпадающий он не останавливается на этом мероприятии.
Что я делаю неправильно?
ОБНОВЛЕНИЕ Это моя вся разметка. Может быть что-то не так?
<%@ Page Language="VB" AutoEventWireup="true" CodeFile="Locations.aspx.vb" Inherits="Editor_Locations" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="LocationHead" runat="server">
<title>Locations</title>
<meta http-equiv="Content-Language" content="en-us"/>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
</head>
<body>
<form id="form1" runat="server">
<div style='text-align:left;'>
<asp:Label ID="FacilityTypeLbl" runat="server">Facility Type:</asp:Label>
<asp:DropDownList ID="FacilityTypeDDL" runat="server" AutoPostBack="true" EnableViewState="true" OnSelectedIndexChanged="FacilityTypeDDL_SelectedIndexChanged">
<asp:ListItem>Test1</asp:ListItem>
<asp:ListItem>test2</asp:ListItem>
<asp:ListItem>Test34</asp:ListItem>
</asp:DropDownList>
</div>
<hr/>
</form>
</body>
</html>
UPDATE Это приложение является веб-сайт, а не веб-приложение. (Я не знал, что есть разница, но теперь я это делаю.) В попытке выяснить, как событие SelectedIndexChange не срабатывает, я добавил кнопку и событие click. Когда я изменяю выделение в раскрывающемся списке, событие не срабатывает. Когда я нажимаю кнопку, происходит событие клика, затем срабатывает событие selectedindexchange.
Я не думаю, что событие SelectedIndexChanged будет работать.
Есть ли другой способ подключить обратный вызов при изменении раскрывающегося списка? Можно ли каким-либо образом использовать __doPostback из вызова функции javascript при изменении списка?
Любые предложения были бы высоко оценены!
Is AutoEventWireup = "true", установленный в вашей директиве .aspx Page? – Sami
Устанавливается как «false». Я установил его «true», и он все еще не запускает событие. –
Вы пробовали 'ViewStateMode =" Включено "' это для вашего 'DropdownList'? –