• Directory的GetFiles方法


    想实现一个功能 :比如多个业务审批流程公用一个审批表的时候,有一个提示审批信息的页面 ,点击该页面不同的业务审批流程记录的时候,跳转到不同业务流程的详细显示界面

    额 这样说 貌似以后我自己也看不明白 还是这样来描述吧   业务表tableA  、tableB 、tableC。 审批共用表 tableD   

    tableA表对应的增删改查页面 listtableA addtableA updatetableA detailtableA

    tableB表对应的增删改查页面 listtableB addtableB updatetableB detailtableB

    tableC表对应的增删改查页面 listtableC addtableC updatetableC detailtableC

    tableD  记录审批信息 tableD  提示tableA tableB tableC待审批的信息 当点击tableD 中提示审批的记录,就跳转到对应的detailXXX页面。

    那么现在我打算要把页面名称存到数据库tableD 的一个字段中 。

    什么时候存呢?当然是新增业务数据的时候呀 就是addtableA的时候  获取到addtableA.apx的物理路径呀

    //这个是获取当前页面的名称

    string currentPagePath = HttpContext.Current.Request.FilePath;
    string dangqianyemian= currentPagePath.Substring(currentPagePath.LastIndexOf("/") + 1);

    string ppath = Server.MapPath(dangqianyemian); //获取虚拟路径的物理路径

    string ppath = Server.MapPath("addtableA.apx"); //获取虚拟路径的物理路径

    可是要获取到当前页面的其他兄弟页面,于是要得到他们的父路径

     ppath = ppath.Substring(0, ppath.IndexOf(dangqianyemian));

    开始找到其他兄弟aspx页面

    var list = Directory.GetFiles(ppath, "*.aspx").Where(t => t.ToLower().EndsWith(".aspx")).ToList();

    开始遍历筛选复核条件的页面

    foreach (var item in list)   

      {              

        if (item.Contains("detail"))
                    {

            string ab = item.Substring(item.IndexOf("detail"));             

                  Response.Write(ab);//此处的ab就可以存到数据了

           }        

      } 

    那么要用的时候       

    string ppath = Server.MapPath(“数据库取到的页面名称”);  

    Repose.Redict("");

                可参考:https://msdn.microsoft.com/zh-cn/library/system.io.directory.aspx

    Directory:公开用于通过目录和子目录进行创建、移动和枚举的静态方法。 此类不能被继承。

      要用这个静态类  引用

      using System.IO; 是必不可少的 

  • 相关阅读:
    SQLSERVER查询某张表哪些字段包含某关键字
    SQLSERVER初始化机构path
    Golang的ORM框架之gorm
    Golang的web框架之Gin
    初识Go逆向
    GIT 常用命令
    mac上系统偏好里无法停止mysql
    js正则高级用法: 分组和断言
    Java强软弱虚四种引用的使用场景
    两数之和
  • 原文地址:https://www.cnblogs.com/yuanyanyan/p/5458672.html
Copyright © 2020-2023  润新知