持久下拉列表选择位于母版页中的控件中

本文关键字:母版页 控件 下拉列表 选择 | 更新日期: 2023-09-27 18:29:43

我有default.aspx使用的母版页,在母版页中我有一个名为DefaultMenuContent的控件,该控件有一个带有autopostback的下拉列表,问题是即使我在控件的加载事件中使用is Not PostBack,也会丢失选择

每次都是新加载,而不是在这种情况下回发!如何坚持下拉列表的选择?

在Master中:

                   <asp:ContentPlaceHolder ID="MenuContentPlaceHolder" runat="server">
                          <art:DefaultArabicMenu ID="DefaultMenuContent" runat="server" />
                    </asp:ContentPlaceHolder>

在Default.aspx 中

Protected Sub ddl_Srv_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddl_Srv.Load
    If Not Page.IsPostBack Then
        Bind_List()
    End If
End Sub

持久下拉列表选择位于母版页中的控件中

假设您只想存储当前用户会话的选择,则可以将选择保存在会话变量中。

Protected Sub dropdownlist1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles dropdownlist1.SelectedIndexChanged
    ' save selection
    Session("ddl1_selection") = dropdownlist1.SelectedValue
    ' do rest of logic
End Sub

在页面加载事件中,检查变量并选择

 Protected Sub ddl_Srv_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not Page.IsPostBack Then
        Bind_List()
        If Session("ddl1_selection") IsNot Nothing Then
            dropdownlist1.SelectedValue = Session("ddl1_selection")
        End If
    End If
End Sub