我有一个使用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?