2016-02-02 98 views
1

foreach循环,我需要循环到自己写入一个文本文件,在这样的形式:foreach循环通过列表的txt

[ 
    { 
    "Platillo": "Pozole", 
    "PDV": "Restaurante", 
    "Turno": "matutino", 
    "PV": "$45.00", 
    "1": "1", 
    "2": "1" 
    },] 

我的foreach循环的时刻填补了HTML表格。

foreach (var item in Model) 
{ 
    var total = 0; 
    decimal costo = 0; 

    for (int i = 1; i <= 31; i++) 
    { 
     var value = 0; 
     if (item.Fecha.Day == i) { value = item.Cantidad; costo = costo + item.Total; } 
     total += value; 
    } 
    <tr> 
     <td class="descripcion">@item.Descripcion</td> 
     <td class="pdv">@item.Pdv</td> 
     <td class="pdv">@item.Rid</td> 
     <td>@((costo/(total + 1)).ToString("C"))</td> 
     @for (int i = 1; i <= 31; i++) 
     { 
      var value = 0; 
      int month = item.Fecha.Month; 
      if (item.Fecha.Day == i) { value = item.Cantidad; } 

     } 
     <td>@total</td> 
     <td>@(((costo/(total + 1)) * total).ToString("C"))</td> 

如何做到这一点在列,而做到这一点对我foreach声明中每一个项目?

+0

如果有匹配的JSON的对象,然后只序列化这些对象的名单? – crashmstr

+0

@crashmstr我做了一个编辑,以一种相当意想不到的方式消除了变化,我正在尝试恢复它。对困惑感到抱歉。 – jdphenix

+0

我可以序列化列表,但我做了一些代码,我的数据在我的foreach语句从该集合,为什么我正在寻找一种方式来获得我的foreach结果到一个txt评价者的列表与纯数据 –

回答

1

退房回答一个非常类似的问题大约从这里列表写JSON: https://stackoverflow.com/a/16921677/2939759

编辑: 链接的答案提示的Json.Net使用 - 这里提供的代码示例(感谢利亚姆为他的伟大答案):

List<data> _data = new List<data>(); 
_data.Add(new data() 
{ 
    Id = 1, 
    SSN = 2, 
    Message = "A Message" 
}); 
string json = JsonConvert.SerializeObject(_data.ToArray()); 

//write string to file 
System.IO.File.WriteAllText (@"D:\path.txt", json); 

所有你真的需要做的是foreach循环添加到代码示例只要

额外编辑:在重trospect(可能已经太晚了)我想我误解了Arturo的问题。我对此的解释是,ASP.NET MVC视图中存在一堆业务逻辑,Arturo希望在他可以将其写入文件的地方进行相同的处理,这可能会使模型更有意义。它的代码可能看起来很相似,或许就像下面的代码一样。请注意,我不会说西班牙语,也没有试图编译这个...

List<data> _data = new List<data>(); 

foreach (var item in Model) 
{ 
    var total = 0; 
    decimal costo = 0; 

    for (int i = 1; i <= 31; i++) 
    { 
     var value = 0; 
     if (item.Fecha.Day == i) { value = item.Cantidad; costo = costo + item.Total; } 
     total += value; 
    } 

    _data.Add(new data() 
    { 
     Descripcion = item.Descripcion, 
     Pdv = item.Pdv, 
     Rid = item.Rid, 
     Costo = ((costo/(total + 1)).ToString("C")), 
     Total = total, 
     WhateverThisIs = (((costo/(total + 1)) * total).ToString("C")) 
    }); 
} 

string json = JsonConvert.SerializeObject(_data.ToArray()); 
System.IO.File.AppendAllText(@"D:\path.txt", json); //make sure to use append 
+0

foreach循环已从管理员编辑中删除,但是马上回来即时通讯使用foreach循环来填补一个HTML,但我希望它直接去一个文件 –