gpt4 book ai didi

c# - ASP.NET _ViewStart.cshtml - 获取请求

转载 作者:行者123 更新时间:2023-11-30 14:27:35 25 4
gpt4 key购买 nike

我有一个 ASP.NET 应用程序。我的应用程序有一个 _ViewStart.cshtml 文件。该文件如下所示:

@using MyCompany.MyApp;
@{
Layout = "/Views/Shared/_Layout.cshtml";

var p = HttpContext.Current.Request.QueryString["parameter"];
ViewBag.QSParameter = p;
}

当我执行这段代码时,出现以下错误:

The name 'HttpContext' does not exist in the current context

我不明白。 _ViewStart.cshtml 不是 View 的“外壳”吗?我试图弄清楚如何全局读取查询字符串参数并为每个请求在 ViewBag 上设置一个值。我认为这就是实现它的方法。

谢谢

最佳答案

您应该有权访问 _ViewStart 文件中的 Request

试试这个:

@using MyCompany.MyApp;
@{
Layout = "/Views/Shared/_Layout.cshtml";

var p = Request.QueryString["parameter"];
ViewBag.QSParameter = p;
}

编辑:对于 ASP.NET 5

我的机器上没有 ASP.NET 5,但查看了该框架的源代码。看起来 RazorPage 上有一个 Context 属性返回一个 HttpContext。或者,您可以通过 ViewContext 访问 HttpContext。见下文:

@{
Layout = "/Views/Shared/_Layout.cshtml";

var p = Context.Request.Query["parameter"];
// or this...
// var p = ViewContext.HttpContext.Request.Query["parameter"];
ViewBag.QSParameter = p;
}

关于c# - ASP.NET _ViewStart.cshtml - 获取请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32127261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com