我使用的是Server.Mappath,需要指定“System.Web.HttpContext.Current.Server”。作为前缀。我不能将其作为包含而不是每次使用“服务器”。这是在一个类而不是控制器中使用因此需要。
控制器代码:
string strMapPath = Server.MapPath("~/XML/");
在课堂上时:
string strMapPath = System.Web.HttpContext.Current.Server.MapPath("~/XML/");
也适用于会话对象的使用:
System.Web.HttpContext.Current.Session["MasterDocument"] = myDoc;
如果我可以做类似的事情,那就太好了。
include System.Web.HttpContext.Current;
但不可能。
思想?
感谢。
答案 0 :(得分:3)
您可以使用使用别名指令;
using Server = System.Web.HttpContext.Current.Server;
这将允许您直接在控制器代码中使用它;
string strMapPath = Server.MapPath("~/XML/");
答案 1 :(得分:1)
这应该有效
public class YourClass
{
public YourClass()
{
Server = System.Web.HttpContext.Current.Server;
}
protected HttpServerUtility Server
{
get; set;
}
public void SomeWork()
{
Server.MapPath("somepath");
}
}