asp.net MVC目录搜索

时间:2011-03-12 17:00:02

标签: jquery asp.net-mvc

我正在研究asp.net MVC应用程序。我有一个文件夹,其中包含一些具有以下路径结构的子文件夹:

\year_2011\year_2011\month_01\day_07\2011_01_07_ERU_SCA_13
\year_2011\year_2011\month_01\day_14\2011_01_14_SCA_ERU_14
\year_2011\month_01\day_16\2011_01_16_ERU_SCA_9

我有一个jQuery datepicker,我需要查看datepicker的日期选择,如果在curerent日期名称文件夹中存在任何xml文件

假设用户选择2011年2月1日,我需要检查是否存在名称为\ year_2011的文件夹,然后我需要检查是否存在名称为month_02和day_01以及2011_02_01_ERU_SCA_xx的文件夹,然后在该文件夹中查看是否存在任何名为abc.xml

的xml文件

我的问题是:

如何查看子文件夹并与所选日期匹配?

此致 Asif Hameed

2 个答案:

答案 0 :(得分:2)

假设您有一个DateTime实例,它将保留用户选择:

public ActionResult Process(DateTime date)
{
    var path = Server.MapPath("~/");
    path = Path.Combine(path, "year_" + date.ToString("yyyy"));
    path = Path.Combine(path, "month_" + date.ToString("MM"));
    path = Path.Combine(path, date.ToString("yyyy_MM_dd_ERU_SCA_xx"));
    path = Path.Combine(path, "abc.xml");
    if (File.Exists(path))
    {
        // TODO: the file exists => do something with it
    }
    return View();
}

或@Paulo Santos在评论部分中建议你也可以:

public ActionResult Process(DateTime date)
{
    var path = Server.MapPath(
        string.Format(
            "~/year_{0:yyyy}/month_{0:MM}/{0:yyyy}_{0:MM}_{0:dd}_ERU_SCA_xx/abc.xml",
            date
        )
    );
    if (File.Exists(path))
    {
        // TODO: the file exists => do something with it
    }
    return View();
}

答案 1 :(得分:1)

找出应用程序根目录相对路径I.e.~ / path / path / file.xml,然后使用Server.MapPath函数将其转换为文件系统路径。然后,您可以使用System.IO.File.Exists(string)方法来确定它是否确实存在。

抱歉,应该格式化得更好,但我的手机就是格式化。