《视频学ASP.NET》第七章实例11
发表在ASP.NET图书答疑 2010-10-19
是否精华
版块置顶:
我是在网站根目录下做的练习,出现如下错误:


“/7.11”应用程序中的服务器错误。
--------------------------------------------------------------------------------

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

异常详细信息: System.InvalidOperationException: 未能映射路径“/5.11”。

源错误: 


行 15:     protected void Page_Load(object sender, EventArgs e)
行 16:     {
行 17:         lbMy.Text = Server.MapPath("/5.11");
行 18:     }
行 19: }
 

源文件: d:\My Documents\Visual Studio 2008\WebSites\7.11\Default.aspx.cs    行: 17 

堆栈跟踪: 


[InvalidOperationException: 未能映射路径“/5.11”。]
   System.Web.Hosting.HostingEnvironment.MapPathActual(VirtualPath virtualPath, Boolean permitNull) +659
   System.Web.VirtualPath.MapPathInternal() +40
   System.Web.HttpRequest.MapPath(VirtualPath virtualPath, VirtualPath baseVirtualDir, Boolean allowCrossAppMapping) +124
   System.Web.HttpServerUtility.MapPath(String path) +117
   _Default.Page_Load(Object sender, EventArgs e) in d:\My Documents\Visual Studio 2008\WebSites\7.11\Default.aspx.cs:17
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +13
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +43
   System.Web.UI.Control.OnLoad(EventArgs e) +98
   System.Web.UI.Control.LoadRecursive() +71
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4300

 敬请老师帮助!


--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.1433; ASP.NET 版本:2.0.50727.1433 
分享到:
精彩评论 3
大伟_mrkj
学分:0 LV1
2010-10-19
沙发
你好!
你把光盘中源代码拷到你的电脑磁盘中,然后去掉其只读属性,把本实例 运行 一下,看出错不?
你这个错误好像是没有找到实例5。1 
 Server.MapPath("/5.11");
MapPath里可放相对路径也可放绝对路径 你要明确了
ancailou002
学分:0 LV1
TA的每日心情
你好,我来了
2022-08-05 21:39:27
2010-10-20
板凳
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
你好!
你把光盘中源代码拷到你的电脑磁盘中,然后去掉其只读属性,把本实例 运行 一下,看出错不?
你这个错误好像是没有找到实例5。1 
 Server.MapPath("/5.11");
MapPath里可放相对路径也可放绝对路径 你要明确了

[/FIELDSET]

回复:我把光盘中源代码拷到我的电脑磁盘中,然后去掉其只读属性还是出错,但是提示的错误不一样了。


“/7.11”应用程序中的服务器错误。
--------------------------------------------------------------------------------

配置错误 
说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。 

分析器错误信息: 不允许有子节点。

源错误: 


行 76:  <compilers>
行 77:  <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
行 78:  <providerOption name="CompilerVersion" value="v3.5"/>
行 79:  <providerOption name="WarnAsError" value="false"/>
行 80:  </compiler>
 

源文件: d:\My Documents\Visual Studio 2005\WebSites\7.11\web.config    行: 78 


--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42 



再请老师指点一下!

  
大伟_mrkj
学分:0 LV1
2010-10-22
地板
你好!
这里你要对Server.MapPath中的MapPath方法要有一个深刻的理解。
1.Server.MapPath("/")  应用程序根目录所在的位置 如 C:\Inetpub\wwwroot\
2.Server.MapPath("./")  表示所在页面的当前目录 
    注:等价于Server.MapPath("")  返回 Server.MapPath("")所在页面的物理文件路径
3.Server.MapPath("../")表示上一级目录 
4.Server.MapPath("~/")表示当前应用级程序的目录,如果是根目录,就是根目录,如果是虚拟目录,就是虚拟目录所在的位置 如:C:\Inetpub\wwwroot\Example\
注:等效于Server.MapPath("~")。
例如,你把数据库文件access.mdb放在App_Data文件夹下,那么你就可以这样获取:
 
C#连接连接 Access

using System.Data; 
using System.Data.OleDb; 

string strConnection="Provider=Microsoft.Jet.OleDb.4.0;"; 
strConnection =Server.MapPath(App_Data/access.mdb);
OleDbConnection objConnection=new OleDbConnection(strConnection); 

objConnection.Open(); 
objConnection.Close();  
这里是相对路径的获得,当然也可以获得绝对路径,例如,你把数据库放置在:C:\BegASPNET\Northwind.mdb; 
那么可以这样写:Server.MapPath(C:\BegASPNET\Northwind.mdb)
首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照