数据绑定到列表不能正常工作

时间:2013-04-11 13:25:48

标签: c# asp.net data-binding drop-down-menu

我将一些数据数据绑定到asp.net c#中的下拉列表中。我使用下面的代码绑定数据时出现以下错误。从我的眼睛看起来一切都很好,但我可以弄清楚。这是一个奇怪的部分,在开发环境中运行它时页面运行正常,但是当我们在测试环境中运行它时,它会因错误而爆炸。有什么建议?

enter image description here

页面加载:

  protected void Page_Load(object sender, EventArgs e)
    {
        if (QSReturnHeaderID == Guid.Empty && !User.IsInRole("Returns_Edit") )
            Response.Redirect("ReturnsSearch.aspx");

        //Link the branch image to the branch list
        imgBranch.LinkControl = lstBranchPlant;

        //CompanyImageScript();
        if (!this.Page.IsPostBack)
        {
            lstBranchPlant.DataBind();
            lstReasonCode.DataBind();

            if (this.QSReturnHeaderID == Guid.Empty)
            {
                sm.SetStage("HeaderEntry");

            }
            else
            {
                LoadReturnHeader();


            }                
            LoadShipToAddressNumbers();
            LoadTradingPartnerIDs();
        }
    }

数据绑定代码:

private void LoadTradingPartnerIDs()
{
    BCCR.Data.ReturnsData data = new BCCR.Data.ReturnsData();
    DataSet r = data.ReturnsTradingPartnerID_GetList();
    lstTradingPartnerID.DataSource = r;
    lstTradingPartnerID.DataBind();
}

1 个答案:

答案 0 :(得分:0)

您正在获取未设置为对象实例的" 对象引用" LoadTradingPartnerIDs方法中的错误。此始终表示您尝试使用未实例化的对象(已声明但尚未初始化的对象)执行某些操作。

您显示的堆栈跟踪表明它位于ReturnsMaint.aspx.cs的第331行。虽然我无法确切地告诉您代码片段中的哪一行,但您当然应该可以在IDE中使用=)

话虽如此,该方法中只有几种可能导致错误:

  1. data.ReturnsTradingPartnerID_GetList();返回null或空DataSet对象。这似乎是最可能的罪魁祸首。它会导致" r"成为您未经实例化的对象,因此尝试将其绑定到您的数据绑定控件将导致此错误。
  2. lstTradingPartnerID尚未初始化(似乎非常不可能,因为这是从Page_Load调用的)。
  3. 由于您说它在开发中工作,但未在测试中工作,因此我确保您具有从测试中的数据存储中获取数据的正确访问权限。无论发生什么事情"在幕后"在ReturnsTradingPartnerID_GetList();中,确保您使用正确的连接字符串等来访问生成返回列表的数据存储。真正的问题是那个兔子洞。