关于ASP.NET"未能映射路径"问题

简介:

通过vs【新建项目】或者【新建网站】而创建的网站项目会使用"/aa/bb/cc"(以/开头)的相对路径,而通过【文件】》【添加】》【现有网站】建立的网站项目使用"aa/bb/cc"(不以/开头)的相对路径。

根路径 ../

参考文章:http://www.cnblogs.com/lushuicongsheng/archive/2010/12/14/1905813.html

 

未能映射路径,在作页面生成时,老是出现"未能映射路径"/aa/bb/cc".

研究了半天,终于找出原因了,Server.Mapth(string path),path-->是相对路径。所以,改为Server.Mapth("aa/bb/cc")就好了,.net 会自动找"aa/bb/cc",返回相对路径。

 if (!System.IO.Directory.Exists(System.Web.HttpContext.Current.Server.MapPath(path)))
            {
                System.IO.Directory.CreateDirectory(System.Web.HttpContext.Current.Server.MapPath(path));
            }
            System.IO.StreamWriter sw = new System.IO.StreamWriter(System.Web.HttpContext.Current.Server.MapPath(path + "/" + file), false, System.Text.Encoding.GetEncoding("gb2312"));
            sw.Write(temp);

如果不存在,使用System.IO.Directory.CreateDirectory创建文件夹。

切记: Server.Mapth("相对路径").

解决方案一:将绝对路径/bin/WebSet.xml设为相对路径即可:~/aa/bb/WebSet.xml

解决方案二:使用System.Web.HttpContext.Current.Request.PhysicalApplicationPath+("/Bin/WebSet.xml"); 
其中System.Web.HttpContext.Current.Request.PhysicalApplicationPath表示的是项目的根目录。 

解决方案三:aa/bb/WebSet.xml

////////----->

写一段读写文件的程序,使用System.Web.HttpContext.Current.Server.MapPath("/bin/WebSet.xml") 
,不料却出现“未能映射路径”的错误,马上检查程序,感觉没有什么错误,于是乎网上搜, 
找啊找,就是找不到解决方案。只有自己慢慢调试了。

 

解决方案一:将绝对路径/bin/WebSet.xml设为相对路径即可:~/bin/WebSet.xml

解决方案二:使用System.Web.HttpContext.Current.Request.PhysicalApplicationPath+("/Bin/WebSet.xml");

其中System.Web.HttpContext.Current.Request.PhysicalApplicationPath表示的是项目的根目录。 

 

////////------>

ds.ReadXml(HttpContext.Current.Server.MapPath("/Citys.xml"));

如果问题出来了:

未能映射路径“/Citys.xml”。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: 未能映射路径“/Contacter.xml”。
把代码改成:

ds.ReadXml(HttpContext.Current.Server.MapPath("~/Citys.xml"));

///////

        if (!IsPostBack)
        {
            string myStr = ConfigurationManager.ConnectionStrings["MapGuidingBusinessConnectionString"].ConnectionString.ToString();
            SqlConnection myConn = new SqlConnection(myStr);
            SqlDataAdapter adapter = new SqlDataAdapter("select * from OY_Location", myConn);
            DataSet ds = new DataSet("markers");
            adapter.Fill(ds, "marker");
            string sXml = ds.GetXml();
            string sFileName = Server.MapPath("Location.xml"); //假设你保存成xmlFile目录下b.xml
            // Server.MapPath(@".\xmlFile\a.xml")
            StreamWriter sr = File.CreateText(sFileName);
            sr.WriteLine(sXml);
            sr.Close();
        } 


本文转自火地晋博客园博客,原文链接:http://www.cnblogs.com/yelaiju/archive/2012/02/10/2344830.html,如需转载请自行联系原作者

目录
相关文章
|
6月前
|
开发框架 .NET API
ASP.NET Core Web中使用AutoMapper进行对象映射
ASP.NET Core Web中使用AutoMapper进行对象映射
|
开发框架 前端开发 .NET
ASP.NET Core MVC 从入门到精通之自动映射(二)
ASP.NET Core MVC 从入门到精通之自动映射(二)
114 0
|
7月前
|
C#
.NET开发中合理使用对象映射库,简化和提高工作效率
.NET开发中合理使用对象映射库,简化和提高工作效率
198 0
|
开发框架 前端开发 .NET
ASP.NET MVC增删改查带图片路径读取
ASP.NET MVC增删改查带图片路径读取
200 0
ASP.NET MVC增删改查带图片路径读取
|
开发框架 移动开发 前端开发
ASP.NET MVC中使用jQuery Ajax通过FormData对象异步提交图片文件到服务端保存并返回保存的图片路径
ASP.NET MVC中使用jQuery Ajax通过FormData对象异步提交图片文件到服务端保存并返回保存的图片路径
293 0
|
开发框架 JSON .NET
ASP.NET Core 十九. Action参数的映射与模型绑定(中)
前文说道了Action的激活,这里有个关键的操作就是Action参数的映射与模型绑定,这里即涉及到简单的string、int等类型,也包含Json等复杂类型,本文详细分享一下这一过程。
348 0
ASP.NET Core 十九. Action参数的映射与模型绑定(中)
|
JSON 开发框架 .NET
ASP.NET Core 十九. Action参数的映射与模型绑定(下)
前文说道了Action的激活,这里有个关键的操作就是Action参数的映射与模型绑定,这里即涉及到简单的string、int等类型,也包含Json等复杂类型,本文详细分享一下这一过程。
246 0
|
XML JSON 开发框架
ASP.NET Core 十九. Action参数的映射与模型绑定(上)
前文说道了Action的激活,这里有个关键的操作就是Action参数的映射与模型绑定,这里即涉及到简单的string、int等类型,也包含Json等复杂类型,本文详细分享一下这一过程。
157 0
|
3月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
51 7