指数数组的边界之外。网格视图

时间:2017-05-03 02:12:28

标签: c# asp.net gridview

我在gridview表中显示文件创建日期时遇到了问题。

这是page_load代码

 if (!IsPostBack)
    {
        string[] filePaths = Directory.GetFiles(Server.MapPath("~/XMLFiles/"));
        List<Thing> lst = new List<Thing>();
        foreach (string filePath in filePaths)
        {
            string filename = Path.GetFileName(filePath); // you might add NULL check and _ check, if that has 2 elements after split.
            lst.Add(new Thing() { FileDate = filename.Split('_')[0], FileName = filename.Split('_')[1], FilePath = filePath });
        }
        GridView1.DataSource = lst;
        GridView1.DataBind();
    }

错误在这一行

lst.Add(new Thing() { FileDate = filename.Split('_')[0], FileName = filename.Split('_')[1], FilePath = filePath });

这是课程Thing

    public class Thing
{
    public string FilePath { get; set; }
    public string FileName { get; set; }
    public string FileDate { get; set; }
}

1 个答案:

答案 0 :(得分:0)

好的,做一件事......将你的代码分成两行......如下所示:

String FileDate = filename.Split('_')[0];
String FileName = filename.Split('_')[1];
String FilePath = filePath;

然后检查导致问题的原因。然后检查数据源以获取文件名。