想实现一个功能 :比如多个业务审批流程公用一个审批表的时候,有一个提示审批信息的页面 ,点击该页面不同的业务审批流程记录的时候,跳转到不同业务流程的详细显示界面
额 这样说 貌似以后我自己也看不明白 还是这样来描述吧 业务表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; 是必不可少的