0

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;

しかし、不可能です。

考え?

ありがとう。

4

2 に答える 2

3

usingaliasディレクティブを使用できます;

using Server = System.Web.HttpContext.Current.Server;

これにより、コントローラーコードのように直接使用できるようになります。

string strMapPath = Server.MapPath("~/XML/");
于 2013-03-06T22:54:20.663 に答える
1

これはうまくいくはずです

public class YourClass
{
    public YourClass()
    {
        Server = System.Web.HttpContext.Current.Server;
    }

    protected HttpServerUtility Server
    {
        get; set;
    }

    public void SomeWork()
    {
        Server.MapPath("somepath");
    }
}
于 2013-03-07T03:51:09.670 に答える