asp.net mvc上的Page.Request?

时间:2014-03-06 20:17:22

标签: c# asp.net asp.net-mvc

我试图执行此代码,但page_load

除外
protected void Page_Load(object sender, EventArgs e) 
{ 
    var contextToken = TokenHelper.GetContextTokenFromRequest(Page.Request); 

在控制器中

var contextToken = TokenHelper.GetContextTokenFromRequest(Page.Request);

但是我收到此错误

  

错误1非静态字段,方法或属性'System.Web.UI.Page.Request.get'

需要对象引用

如何在MVC中获取当前页面请求?

更新1:

我改为:

 var contextToken = TokenHelper.GetContextTokenFromRequest(HttpContext.Current.Request);

现在我得到了:

  

错误2'System.Web.HttpContextBase'不包含的定义   '当前'并且没有扩展方法'当前'接受第一个参数   可以找到'System.Web.HttpContextBase'类型(你错过了吗?)   使用指令或程序集引用?)

我需要什么装配?

这些是我的用法

using Microsoft.SharePoint.Client;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.UI;

1 个答案:

答案 0 :(得分:5)

ASP.NET MVC中没有Page,这是一个ASP.NET Web Forms概念(继承自Page)。当您在MVC中工作时,您处于Controller类的范围内,该类包含对当前Context的引用。

相反,在MVC中,使用:HttpContext.Request,就像那样:

var contextToken = TokenHelper.GetContextTokenFromRequest(HttpContext.Request);