如何在不使用C#发出新请求的情况下读取当前标头

本文关键字:情况下 请求 读取 新请求 | 更新日期: 2023-09-27 18:24:06

由于JS无法获得初始页面请求,C#是否可以在不发出新请求的情况下获得当前标题?

主要目标是能够通过查看传入的具有自定义值"uid":"world"的HTTP标头来确定谁在访问该页面。确定后,该值将显示在同一页面上。

Hello "world"

这可以在C#中完成吗?怎样

如何在不使用C#发出新请求的情况下读取当前标头

要访问MVC控制器中的头,可以使用以下命令:

控制器

public ActionResult Index()
{
    var uid = System.Web.HttpContext.Current.Request.Headers["uid"];
    // Add your view model logic here...
    var model = new TestModel
    {
        HeaderValue = uid
    };
    return View(model);
}

查看

@model MyProject.Models.TestModel
<div>
    Hello @Model.HeaderValue
</div>

在ASP.NET中,您可以从Request对象读取Headers。我的答案是假设Web表单,如果你不使用Web表单,请更新你的问题(在未来的初始问题中包含这些信息很重要)。

<asp:Label runat="server" id="HeaderLbl" />

背后的代码:

using System.Web; //add this to the top of your class if it's not already there
protected void Page_Load(object sender, EventArgs e)
    {
    HeaderLbl.Text = Request.Headers["uid"];
    }

在控制器中,使用System.Mvc.Web.Mvc.Request.Headers从当前请求中获取标头。

如果您正在使用Razor,您可以将@Request.Headers直接包含在.cshtml页面上,并根据需要与Javascript共享内容。

相关文章: