2013-09-24 72 views
3

我在我的MVC3應用程序中收到此錯誤。請幫助...非靜態字段,方法或屬性'System.Web.Mvc.Controller.HttpContext.get'需要對象引用

錯誤:

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(); 
     } 
    } 
} 

回答

13

你的基類Controller已經實施出售物業HttpContext

您可以參考它完全合格:System.Web.HttpContext.Current...或使用您的控制器的屬性,就像HttpContext.Session。對於第二個選項,您的方法必須是non-static

+1

這將是很好,如果你鏈接到英文版的文件,而不是德文。 – paqogomez

1

一個原因,錯誤的是,你不能在靜態方法

使用HttpContext.Current.SessionServer.MapPath()在這種情況下,你可以使用HostingEnvironment.MapPath()

相關問題