我從事MVC5項目。內部控制如何在靜態方法中使用控制器類的Response屬性?
我已經登錄的操作方法:
public void Login(LoginViewModel model, string returnUrl)
{
string culture = getCulture();
LocolizationCore.SetCulture(culture);
}
我也有我的名爲LocolizationCore項目類,它包含了一個名爲SetCulture靜態方法()。
這裏的外觀SetCulture()方法:
internal static void SetCulture(string culture)
{
// Validate input
culture = CultureHelper.GetImplementedCulture(culture);
// Save culture in a cookie
HttpCookie cookie = Request.Cookies["_culture"];
if (cookie != null)
cookie.Value = culture; // update cookie value
else
{
cookie = new HttpCookie("_culture");
cookie.Value = culture;
cookie.Expires = DateTime.Now.AddYears(1);
}
Response.Cookies.Add(cookie);
}
正如你可以看到SetCulture方法是節約文化,用戶的cookie。
當我嘗試生成項目,我得到錯誤:
The name 'Request' does not exist in the current context
The name 'Response' does not exist in the current context
我的問題是如何在LocolizationCore類的靜態方法使用Response和Request屬性?
你需要'HttpContext'在那個類中的引用,你有使用'System.Web.HttpContext'的語句嗎? –