net中的相对路径问题?在线等!!
开发环境.net 2003,项目文件夹FMTOOLS与数据文件夹dataFiles在同一个层次,项目文件夹FMTOOLS里包括FMTOOLS文件夹、FMTOOLS.ncb、FMTOOLS.sln,数据文件夹dataFiles里有SA.dat数据文件,我要在FMTOOLS.sln通过相对路径访问SA.dat,请问相对路径怎么写??
比如:FMTOOLS.sln中的程序fp = fopen( "相对路径\\SA ", "rb "),这个相对路径怎么写?
------解决方案--------------------Request.MapPath( "~ ")这个是取得应用程序路径,也就是你的相对路径。
------解决方案--------------------关于在ASP.NET中物理路径和虚拟路径的取得
//Request.CurrentExecutionFilePath; 当前请求的虚拟路径 是这种格式:\虚拟目录名\admin\index.aspx
//Request.ApplicationPath //获取服务器上 ASP.NET 应用程序的虚拟应用程序根路径。\虚拟目录名(应用程序名)
以上都是虚拟目录中的文件路径,即是IIS中的路径。要得到真真的物理路径要在得到以上路径的基础上再加:
Server.MapPath(Request.ApplicationPath + "SPLConfig/ClassMap.xml ")//这样可能会有一个BUG
最好是这样
string m_ApplicationPath=Request.ApplicationPath;
if(this.m_ApplicationPath== " ")
this.m_ApplicationPath= "/ ";
if(!this.m_ApplicationPath.EndsWith( "/ "))
this.m_ApplicationPath += "/ "; //先判断一下 /
Server.MapPath(m_ApplicationPath+ "SPLConfig/ClassMap.xml ")
2005 地址Url 的新的访问方式
//this.Request.CurrentExecutionFilePath; //当前请求的虚拟忙碌中的路径
//this.Request.FilePath; //虚拟目录中的路径
//this.Request.PhysicalPath; //当前请求的物理路径
//this.Request.PhysicalApplicationPath;//应用程序的物理路径
//this.Request.Url.AbsoluteUri;//全部URL
Request.RawUrl 获得网址带变量 Request.UrlReferrer 获得网址不带变量
刷新本页面的方法 :
this.Response.Redirect(this.Request.Url.AbsoluteUri, true);
this.Response.Redirect(this.Request.Url.ToString());
定制方法的刷新
this.Response.Redirect(this.Request.CurrentExecutionFilePath + "?depid= " + this.hDepID.Value.ToString());
------解决方案--------------------winform 就是System.Windows.Forms.Application.StartupPath
------解决方案--------------------web我用fp = fopen( "~\\SA ", "rb "),~\就是相对源程序路径
------解决方案--------------------不应该说是针对FMTOOLS.sln的相对路径,FMTOOLS.sln是个解决方案,在程序运行的时候是没有这个东西的,只有你的程序,所以只有相对你运行的exe程序的相对路径。
使用Application.StartupPath取你的exe运行的路径