5

我在我的 MVC3 应用程序中收到此错误。请帮忙...

错误 :

An object reference is required for the non-static field, method, or property 'System.Web.Mvc.Controller.HttpContext.get'

在线的:

string desigId = HttpContext.Current.Session["Desig_Id"].ToString();

代码及其在类中的方法:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Helpers;
using System.Net.Mail;
using System.Net;
using System.ComponentModel;
using System.Diagnostics;
using System.Threading.Tasks;

namespace ApricaCRMEvent.Controllers
{
    public class NotificationController : Controller
    {
        //to send email notification
        [Authorize]
        public static string SendEmailNotification(int crmId, string username, string action)
        {

              string desigId = HttpContext.Current.Session["Desig_Id"].ToString();
        }
    }
}
4

2 回答 2

22

您的基类Controller已经实现了一个属性HttpContext

您可以引用它完全限定:System.Web.HttpContext.Current...或使用控制器的属性,就像HttpContext.Session. 对于第二个选项,您的方法必须是non-static

于 2013-09-24T09:02:13.817 回答
2

错误的另一个原因是您不能在静态方法中使用HttpContext.Current.SessionandServer.MapPath()

在这种情况下,您可以使用HostingEnvironment.MapPath()

于 2016-01-02T12:45:58.440 回答