【发布时间】:2011-10-12 16:02:46
【问题描述】:
我想更改下拉列表,每当我进行一些更改时,它应该会自动回发并触发下拉列表的 selectedindexchanged 事件。我在自动回发但不记得我选择的内容时遇到问题,它会刷新我的页面并且我选择的项目会丢失。我想在没有 AJAX 调用的情况下执行此操作。但是,如果 AJAX 是唯一的选择,我愿意接受。
<asp:DropDownList ID="ddlProjectEditor" CssClass="ddlProjectEditor" Autopostback="true" runat="server" >
</asp:DropDownList>
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
Dim F As facility = utilities.lookForFacility
'Option to add Project information in editor
_config = CType(System.Configuration.ConfigurationManager.GetSection("editorConfigGroup/general"), f896EditorConfig.Config.General)
If F IsNot Nothing Then
Dim _facilityID As String = F.FacilityID
Dim count As Integer = 0
Dim facility As facility = FacilityManager.getFacility(_facilityID, True)
Me.ddlProjectEditor.Items.Insert(count, New ListItem(F.CompanyName, F.FacilityID))
'Me.ddlProjectEditor.SelectedIndex = 0
'Me.ddlProjectEditor.ClearSelection()
For Each memberFID As String In (From Rel In facility.Relationships Where Rel.numberType = "hllTeam" Or Rel.numberType = "hllOffice" Select Rel.storeNumber)
count = count + 1
Dim CompanyName = FacilityManager.getFacility(memberFID, True).CompanyName
Me.ddlProjectEditor.Items.Insert(count, New ListItem(CompanyName, memberFID))
Next
End If
End If
End Sub
Protected Sub ddlProjectEditor_SelectedIndexChanged2(ByVal sender As Object, ByVal e As EventArgs) Handles ddlProjectEditor.SelectedIndexChanged
Dim selectedFacilityID = ddlProjectEditor.SelectedItem.Value
'This event doesn't get triggered.
End Sub
【问题讨论】:
-
您是否打开了 ViewState?您可以在您的 Web.config 中检查这一点,并且可以在您的页面中覆盖该设置。
-
是的,这正是它的问题所在。这是一个母版页,其中 EnableViewState="True" 但使用母版页的默认页面具有 EnableViewState="false"。
标签: asp.net ajax vb.net drop-down-menu