【问题标题】:Dropdownlist Autopost back issue: Remembering the selectionDropdownlist Autopost 回帖:记住选择
【发布时间】: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


【解决方案1】:

您必须检查web.config文件中的page directive,看看是否有EnableViewState="false"。如果是这种情况,请将其更改为EnableViewState="true"

【讨论】:

  • 是的,这正是它的问题所在。这是一个母版页,其中 EnableViewState="True" 但使用母版页的默认页面具有 EnableViewState="false"。
【解决方案2】:

将 ddlProjectEditor_SelectedIndexChanged2 更改为 Public 并将 OnSelectedIndexChanged="ddlProjectEditor_SelectedIndexChanged2" 添加到下拉列表标记中。

【讨论】:

    猜你喜欢
    • 2011-05-11
    • 1970-01-01
    • 2011-11-04
    • 2011-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-12
    • 1970-01-01
    相关资源
    最近更新 更多