Erç*_*ğlu 5 c# asp.net asp.net-mvc asp.net-mvc-4
我'找一个方法来获得访问权限,并设置TempData
在GLOBAL.ASAX
我尝试过这样但仍然在TempData上获得错误.
HttpContext.Current.TempData["Passed"] = "1";
TempData
是该类的一个属性System.Web.Mvc.ControllerBase
。由于您不在控制器中,因此无法访问它。我非常怀疑您能否轻松实现它,因为设置此功能的整个链是由 MVC 框架构建的。
由于TempData[]
由Session
(即SessionStateTempDataProvider
)支持,您应该能够将值插入会话并将其取出。这确实依赖于阅读源代码(以查找使用的密钥),并且绝对不受支持。
var dataKey = "__ControllerTempData";
var dataDict = HttpContext.Current.Session[dataKey] as IDictionary<string,object>;
if (dataDict == null) {
/* what do you want to do? add a new IDict<> and put in session? */
} else {
dataDict["Passed"] = 1;
HttpContext.Current.Session[dataKey] = dataDict;
}
Run Code Online (Sandbox Code Playgroud)
警告,未经测试的代码!您将需要进行调试。
正如其他人所说,这样做的原因是什么?你想达到什么目的?这可能是一个更好的方法。