繁体   English   中英

C# Razor 部分页面动态更新 label 文字

[英]C# Razor partial page dynamically update label text

我在.Net5 中有一个 C# Razor 应用程序。 在这个应用程序中,我有一个没有 model 的部分页面。 在其中我需要动态分配链接的文本。 但是,如果没有 model,我不确定如何最好地解决此问题。

该值将在用户在应用程序中的持续时间内保持不变。 但是,对于不同的用户,该值会有所不同。

我可以将值保存在 cookie 中,并在部分页面中检索它吗? 还是有更好的方法?

您可以在 razor 视图/页面中设置并获取 session,如下所示:

@using Microsoft.AspNetCore.Http
@inject IHttpContextAccessor HttpContextAccessor
@{
    HttpContextAccessor.HttpContext.Session.SetString("KeyName", "aaaa"); 
}
@HttpContextAccessor.HttpContext.Session.GetString("KeyName")

请务必在 Startup.cs 中注册 session 和 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();
        });
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM