非静态字段、方法或属性“System.Web.Mvc.Controller.HttpContext.get”需要对象引用
本文关键字:HttpContext Controller Mvc get 对象引用 Web System 字段 静态 方法 属性 | 更新日期: 2023-09-27 18:32:28
我在 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();
}
}
}
您的基类Controller
已经实现了属性HttpContext
。
您可以完全限定引用它:System.Web.HttpContext.Current...
或使用控制器的属性,就像HttpContext.Session
一样。对于第二个选项,您的方法必须non-static
。
错误的另一个原因是您无法在静态方法中使用HttpContext.Current.Session
和Server.MapPath()
在这种情况下,您可以使用HostingEnvironment.MapPath()