C#Razor局部页面动态更新标签文本
我在.Net5中有一个C#Razor应用程序。在这个应用程序中,我有一个没有模型的部分页面。在其中,我需要动态分配链接的文本。然而,没有一个模型,我不知道如何最好地去做这件事 该值在用户在应用程序中的持续时间内保持不变。但是,对于不同的用户,该值将不同C#Razor局部页面动态更新标签文本,c#,asp.net-core,razor-pages,.net-5,C#,Asp.net Core,Razor Pages,.net 5,我在.Net5中有一个C#Razor应用程序。在这个应用程序中,我有一个没有模型的部分页面。在其中,我需要动态分配链接的文本。然而,没有一个模型,我不知道如何最好地去做这件事 该值在用户在应用程序中的持续时间内保持不变。但是,对于不同的用户,该值将不同 我可以将该值保存在cookie中,并在部分页面中检索它吗?或者有更好的方法吗?您可以在razor视图/页面中设置和获取会话,如下所示: @using Microsoft.AspNetCore.Http @inject IHttpContextAc
我可以将该值保存在cookie中,并在部分页面中检索它吗?或者有更好的方法吗?您可以在razor视图/页面中设置和获取会话,如下所示:
@using Microsoft.AspNetCore.Http
@inject IHttpContextAccessor HttpContextAccessor
@{
HttpContextAccessor.HttpContext.Session.SetString("KeyName", "aaaa");
}
@HttpContextAccessor.HttpContext.Session.GetString("KeyName")
确保在Startup.cs中注册会话和HttpContextAccessor:
public class Startup
{
//...
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
services.AddSession();
services.AddHttpContextAccessor();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseSession(); //be sure add this...
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
});
}
}
你在用MVC吗?如果是这样,您有ViewBag、ViewData或TempData。否则,如果是webform应用程序,请使用会话和服务器端标记。由于部分页面是从_布局页面查询的,我忘了提到,这意味着在随后的页面加载中,值已经丢失。除非我在每一页上都重置它,但我不会这样做。了解如何在MVC中使用会话。