由于JS无法获取初始页面请求,C#能否在不发出新请求的情况下获取当前标题?如何在不用C#提出新请求的情况下读取当前的头文件?
主要目标是通过查看具有传入的自定义值“uid”:“world”的HTTP标头,以确定谁正在访问该页面。确定后,将显示该值在同一页面上。
Hello "world"
这可以在C#中完成吗?怎么样?
由于JS无法获取初始页面请求,C#能否在不发出新请求的情况下获取当前标题?如何在不用C#提出新请求的情况下读取当前的头文件?
主要目标是通过查看具有传入的自定义值“uid”:“world”的HTTP标头,以确定谁正在访问该页面。确定后,将显示该值在同一页面上。
Hello "world"
这可以在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>
var uid = HttpContext.Current.Request.Headers [“uid”]; //“当前”是一个未解决的符号。有我缺少的图书馆吗?我有“使用System.Web.Mvc;” – RedApple 2014-09-22 17:09:25
啊,你是对的。我会更新我的答案。 – 2014-09-22 17:21:50
在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
从当前请求获得头。
如果您使用的是剃刀,您可以直接在您的.cshtml页面中包含@Request.Headers
,并且如果您愿意,可以使用Javascript共享内容。
这是ASP.NET吗?你想在服务器端获得一个特定的标题,然后显示它们吗? – mason 2014-09-22 15:31:38
是的,它是ASP .NET ...我有一个.cshtml文件。它更像是用户将特定的页眉传递给页面,以便我可以显示它。 – RedApple 2014-09-22 15:34:22