1

objectdatasource 没有根据参数引用正确的构造函数

我有(缩小版)

    private int m_Code;
    private string m_FamCode;
    private string m_LastName;
    private string m_FirstName;
    private string m_Init;
    private DateTime chargeDate;
    private string tranCode;
    private decimal paidAmt;
    private string description;

然后我有每个 get\set

public int M_Code
        {
            get { return m_Code; }
            set { m_Code = value; }
        }

然后我有 3 个不同的构造函数,如下所示,但向每个构造函数传递不同数量的属性。

public BBNMemberDetails(DateTime cDate, string tCode, decimal pAmt, string desc)
        {
            this.chargeDate = cDate;
            this.tranCode = tCode;
            this.paidAmt = pAmt;
            this.description = desc;
        }


 public BBNMemberDetails(int m_Code, string m_FamCode, string m_LastName, string m_FirstName, string m_Init)
    {
        this.m_Code = m_Code;
        this.m_FamCode = m_FamCode;
        this.m_LastName = m_LastName;
        this.m_FirstName = m_FirstName;
        this.m_Init = m_Init;
        this.m_Title = m_Title;

}

默认构造函数

  public BBNMemberDetails() { }

出于某种原因,唯一被引用的构造函数是具有我所有属性的构造函数。我只想获取交易信息的构造函数没有被引用。我正在结合使用一个引用存储过程的 sqldatareader 的 List 来获取值,然后只是前端的 objectdatasource 将其附加到 gridview。但是我的 gridview 显示了所有属性,而不仅仅是我希望它在构造函数中显示的少数属性。

4

1 回答 1

3

当你调用一个构造函数时,你会得到一个完整的对象。

该对象没有被缩减,因为您调用了一个初始化较少成员的构造函数。

于 2012-10-20T16:04:52.653 回答