0

私の知識は、.Net が途方もなく欠けているということです。以下に関するご支援をいただければ幸いです。

私は顧客モデルを持っています:

public class CustomerModel
{

private DBEntities db = new DBEntities();

public List<CustomerModel> CustomerResultModel { get; set; }

[Required]
[DisplayName("Customer Number")]
public long ID { get; set; }

[StringLength(50)]
public string Firstname { get; set; }

[StringLength(50)]
public string Organisation { get; set; }

[StringLength(500)]
[DisplayName("Address Line 1")]
public string AddressLine1 { get; set; }

[StringLength(50)]
[Required(ErrorMessage = "A Postcode is required")]
public string Postcode { get; set; }

public CustomerModel GetCustomerResults(string q)
{
    CustomerModel model = new CustomerModel();

    var res = from s in db.CMUCustomers select s;

    foreach (var result in res)
    {
        CustomerModel modelres = new CustomerModel();

        modelres.ID = result.ID;
        modelres.CustomerName = result.Firstname;
        modelres.AddressLine1 = result.AddressLine1;
        modelres.Postcode = result.Postcode;
        modelres.Organisation = result.Organisation;

        model.CustomerResultModel.Add(modelres);
    }

    return model;
  }

}

私のコントローラーには次のものがあります。

private CustomerModel customerResults = new CustomerModel();

public ViewResult Search(string q)
{

CustomerModel model = customerResults.GetCustomerResults(q);
return View(model);

}

ただし、「model.CustomerResultModel.Add(modelres);」でエラーが発生します。「オブジェクト参照がオブジェクトのインスタンスに設定されていません。」私が間違っている可能性があることへの提案はありますか?

ありがとう

4

1 に答える 1

2

リストをインスタンス化していないことを示すエラー。クラスのコンストラクターを定義するとき、または値を割り当てる前に、リストを使用して属性をインスタンス化する必要があります。

コンストラクターになりたい場合

public CustomerModel ()
{
    this.CustomerResultModel  = new List<CustomerModel>()
}
于 2012-05-09T13:47:18.343 に答える