2016-02-02 120 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,但我希望它直接去一個文件 –