DropDownList仅在实时站点上的Postback上丢失DataSource

时间:2014-03-24 14:44:15

标签: asp.net vb.net drop-down-menu dotnetnuke

我有一个使用ASP.Net控件和VB.Net代码的DotNetNuke网页。在页面加载时,我检索包含所有用户工作订单的DataSet。此DataSet用于填充asp:datagrid。我还检索一个DataSet以填充包含用户零售帐户,服务类型,订单状态和零售位置的组合框。在任何这些下拉列表的SelectedIndexChange上,我创建/修改DataGridFilter以修改网格的显示结果。我将完整的工作订单DataSet存储为会话变量。

在我的开发环境中,我在本地主机上运行,​​一切都按预期工作。当我的代码发布到我的实时站点时,页面按预期加载,在设置和绑定数据源时为每个下拉列表调用SelectedIndexChange事件。但是,当用户从任何下拉列表中进行选择时,所有下拉列表的数据源似乎都将丢失。这在开发环境中不会发生。实时和发展方面的数据库似乎具有相同的结构和数据。

 Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim dsStatus As DataSet
        Dim dsChangeStatus As DataSet

        If IsPostBack Then
            If Not Session.Item("WorkOrdersDS") Is Nothing Then
                m_dsWorkOrders = CType(Session.Item("WorkOrdersDS"), DataSet)
            End If

            If Not ViewState("DataGridFilter") Is Nothing Then
                m_DataGridFilter = ViewState("DataGridFilter").ToString
            End If
        Else
            ddAccount.DataTextField = "NameCity"
            ddAccount.DataValueField = "AccountID"
            LoadRetailAccounts()
            LoadLocations(CInt(Me.ddAccount.SelectedValue))
            dgWorkOrders.Attributes("SortExpression") = "LastUpdated_DT"
            dgWorkOrders.Attributes("SortASC") = "DESC"

            dsStatus = m_DL.RunSPGetDS("PRC_GSI_CSWorkOrder_Status_S")
            With ddStatus
                .DataTextField = "Status_VC"
                .DataValueField = "Status_ID"
                .DataSource = dsStatus
                .DataBind()
            End With
            Library.GSI.Library.ControlHelp.CreateBlankFirstItem(ddStatus, "All Except Withdrawn", "-1")
            Library.GSI.Library.ControlHelp.CreateBlankFirstItem(ddStatus, "All", "0")

            dsChangeStatus = m_DL.RunSPGetDS("PRC_GSI_CSWorkOrder_Status_S_CanChange")
            With ddChangeStatus
                .DataTextField = "Status_VC"
                .DataValueField = "Status_ID"
                .DataSource = dsChangeStatus
                .DataBind()
            End With

            If Me.ddAccount.SelectedItem.ToString.Substring(0, 1) = "*" Then
                CreateOrgChartFilter()
            Else
                CreateFilter()
            End If
            GetWorkOrdersList()
            LoadServiceTypes()
            BindDataGrid()
        End If
    End Sub

    What am I missing that might be different in my live and development code?

0 个答案:

没有答案