在CORE 2 Razor页面代码隐藏中附加和请求cookie

时间:2018-03-09 14:39:13

标签: razor-pages

在MVC CORE中,此代码将从代码隐藏中添加一个cookie,然后将其读入变量

using Microsoft.AspNetCore.Mvc;
namespace WebApplication1.Controllers {
    public class HomeController : Controller {
        public IActionResult Index() {
            Response.Cookies.Append("key", "value");
            string cookieValueFromReq = Request.Cookies["key"];
            return View();
        }
    }
}

我正试图在Razor页面中做同样的事情。我可以在页面本身这样做

@{
    Response.Cookies.Append("key", "value");
}

但需要在代码隐藏中执行此操作。如果我在代码隐藏中使用它,就像这样

匹配MVC风格
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.AspNetCore.Mvc;
namespace WebApplication1.ViewModel {
    public class BaseModel : PageModel {
       public BaseModel () {
            Response.Cookies.Append("key", "value");
       }
    }
}

Responsenull因此会因预期的Object reference not set to an instance of an object.错误而崩溃。

是否可以在Razor页面代码隐藏中读取/写入cookie,如果是,如何? 我是否需要强制初始化Response或做一些完全不同的事情?

0 个答案:

没有答案