读取CSV文件但显示旧数据

时间:2014-09-24 18:36:05

标签: c# csv

我正在使用相同的代码在2页上阅读一个小的csv文件。在localhost上使用本地csv文件一切正常!但是在服务器上,它可以在Page1上运行,但Page2似乎显示旧数据。

我从每个页面调用getDataCSV()并返回一个字符串

 string getDataCSV()
    {
        StringBuilder s = new StringBuilder();
        string filePath = utility.GetAbsPathFile(orgWebSite, "files", "UDAP_Donors.csv");

        IEnumerable<string[]> lines = File.ReadAllLines(filePath).Select(a => a.Split(','));
        //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
        s.Append("<div class='donor_level'>Level 1</div>|");
        s.Append(getData2(lines,"C"));
        s.Append("<div class='donor_level'>Level 2</div>|");
        s.Append(getData2(lines, "R"));
        ....
        return s.ToString();
    }
    string getData2(IEnumerable<string[]> lines, string x)
    {
        StringBuilder s = new StringBuilder();
        var corp = from line in lines where line[1].Equals(x) orderby line[0] select line;
        foreach (var c in corp)
        {
            s.Append(getString(c[0].ToString()));
        }
        return s.ToString();
    }
    string getString(string c)
    {
        return string.Format(@"<div class='donor'><div class='donor_name'>{0}</div></div> |", c.Replace("'", "\'"));
    }

在第1页上,我正在使用此字符串并将其添加到js卷轴中 - 工作正常。

在第2页上,我只是将字符串放入文字控件中。这里显示的数据来自我上传的第一个csv文件,我已经多次覆盖(或删除并重新加载)。

我在返回字符串中添加了一些虚拟字符,这些字符显示在两个页面上,因此我知道正在调用代码。

非常感谢任何想法。

这是第2页的代码

 public string GetDonations2(string yr)
    {
        StringBuilder s = new StringBuilder();
        s.AppendFormat(@"<div class='donor_thanks'>Thank You to the Sponsors</div><div class='donor'><br /></div>");
        s.Append(getDataCSV());
        return s.ToString();
    }

然后将其分配给文字

转到第1页的字符串被包含在一些js中...但是这样可行...对该文件的唯一引用是上面的字符串filePath方式

1 个答案:

答案 0 :(得分:0)

问题解决了...第2页没有获得orgWebSite的价值,并且偶然地读取了上传到同一位置的旧文件 - aargh