C# Razor 局部页面动态更新标签文本
C# Razor partial page dynamically update label text
我有一个 .Net5 中的 C# Razor 应用程序。在此应用程序中,我有一个没有模型的部分页面。在其中我需要动态分配一个 link 的文本。但是,如果没有模型,我不确定如何最好地解决这个问题。
该值将在用户使用应用程序期间保持不变。但是,对于不同的用户,该值会有所不同。
我可以将值保存在 cookie 中,并在部分页面中检索它吗?或者有更好的方法吗?
您可以在 razor view/pages 中设置和获取会话,如下所示:
@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();
});
}
}
我有一个 .Net5 中的 C# Razor 应用程序。在此应用程序中,我有一个没有模型的部分页面。在其中我需要动态分配一个 link 的文本。但是,如果没有模型,我不确定如何最好地解决这个问题。
该值将在用户使用应用程序期间保持不变。但是,对于不同的用户,该值会有所不同。
我可以将值保存在 cookie 中,并在部分页面中检索它吗?或者有更好的方法吗?
您可以在 razor view/pages 中设置和获取会话,如下所示:
@using Microsoft.AspNetCore.Http
@inject IHttpContextAccessor HttpContextAccessor
@{
HttpContextAccessor.HttpContext.Session.SetString("KeyName", "aaaa");
}
@HttpContextAccessor.HttpContext.Session.GetString("KeyName")
确保在 Startup.cs:
中注册会话和 HttpContextAccessorpublic 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();
});
}
}