0

.ascx.cs には、次のようなコードがあります。

var xDoc = XDocument.Parse(xml); //or XDocument.Load(fileName)
var list =  xDoc.Descendants("ordinanza")
                .Select(n => new
                {
                    Numero = n.Element("numero").Value,
                    Titolo = n.Element("titolo").Value,
                })
                .ToList();

さて、私は.ascxでこの匿名型を「foreach」したいと思っていますが、保護/公開を使用することはできませんlist( is のためvar)。

それで、どうすればいいですか?

4

1 に答える 1

3

抽出するデータは、より大きなエンティティの縮小版であり、このデータをビューで使用しています。これは、MVCまたはMVPの用語では、ビューモデル(UIにデータを表示するためのデータ転送オブジェクトの一種)になります。

できることは、このデータを保持するための単純な軽量クラス(ビューモデル)を作成することです。

public CustomerContactViewModel()
{
    public string Name { get; set; }

    public string Phone { get; set; }
}

次に、LINQクエリを次のように更新します。

IEnumerable<CustomerContactViewModel> custQuery =
    from cust in customers
    where cust.City == "Phoenix"
    select new CustomerContactViewModel() { Name = cust.Name, Phone = cust.Phone };
于 2012-10-18T08:11:34.577 に答える