Server.MapPath在当前上下文中不存在。

19

在我的MVC4项目中,我有一个命名空间

prj.MVC4.Controllers

我可以在其中使用Server.MapPath(..)而没有问题,但是在

prj.MVC4.Models

中,Server.MapPath(...) 就不存在于当前上下文中。

我知道Server.MapPath存储在System.Web中,并且使用了 System.Web并且将System.Web.dll添加到了该项目的类中。

Ctrl + .中,建议添加Microsoft.SqlServer作为命名空间。

如何解决这个问题?


可能是Server.MapPath does not exist in the Current Context的重复问题。 - Burgi
2个回答

53

服务器是控制器的属性,为了在运行Web应用程序时在其他地方访问它,您可以使用

System.Web.HttpContext.Current.Server

1
它说 current 是一个属性,但它被用作类型。 - Dinav Ahire
我该如何在我的Web Handler文件中访问它? - Si8

7

Server属性可以在控制器内部访问。如果你的应用程序在asp.net环境中执行,你也可以在HttpContext.Current中找到它。


我必须为这个赚取一个徽章,我的错。 - Tertius Geldenhuys
@neolace 我不明白,你说的“我必须为此赚取徽章,我的错”是什么意思? - Zbigniew
我也不知道,编辑你的问题让我可以点赞。我的个人资料中写着我的下一个目标是要踩一个回答,而你的回答恰好成为了被选中的那一个。在踩了你的问题之后,我的情况并没有发生任何变化,我犯了一个错误,对此表示歉意。 - Tertius Geldenhuys
2
@neolace 随意给正确答案点踩并不是正确的做法。 - Zbigniew
好的,让我们从你的答案开始,再读一遍,也许你就会理解了。 - Tertius Geldenhuys

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接