我试图执行此代码,但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;
答案 0 :(得分:5)
ASP.NET MVC中没有Page
,这是一个ASP.NET Web Forms概念(继承自Page
)。当您在MVC中工作时,您处于Controller
类的范围内,该类包含对当前Context
的引用。
相反,在MVC中,使用:HttpContext.Request
,就像那样:
var contextToken = TokenHelper.GetContextTokenFromRequest(HttpContext.Request);