【问题标题】:Working With ViewData in Razor Pages - set key globally for a page在 Razor 页面中使用 ViewData - 为页面全局设置键
【发布时间】:2020-05-06 23:30:42
【问题描述】:

有没有办法在页面上全局设置 ViewData 键? 在我的示例中,我必须在每个动词上设置它。

official documentationthis probably unofficial 但更好 文档上我没有找到任何关于此问题的信息。

[AllowAnonymous]
public class PasswordResetModel : PageModel {

    private readonly IConfiguration _configuration;
    private readonly ILogger<PasswordResetModel> _logger;
    private readonly IRecaptchaService _recaptchaService;
    private readonly RecaptchaOptions _recaptchaOptions;

    public PasswordResetModel(IConfiguration configuration, 
                              ILogger<PasswordResetModel> logger,
                              IRecaptchaService recaptchaService) {

        _configuration = configuration;
        _logger = logger;
        _recaptchaService = recaptchaService;
        _recaptchaOptions = new RecaptchaOptions();
        _configuration.Bind("reCAPTCHA", _recaptchaOptions);

        //ViewData["ping"] = "pong"; -- here is not possible
    }

    [BindProperty]
    public PasswordResetRequest passwordResetRequest { get; set; }

    public void OnGet() {
        ViewData["IsRecaptcaEnabledOnPasswordReset"] = _recaptchaOptions.IsRecaptcaEnabledOnPasswordReset;
    }

    public async Task<IActionResult> OnPostAsync() {
        ViewData["IsRecaptcaEnabledOnPasswordReset"] = _recaptchaOptions.IsRecaptcaEnabledOnPasswordReset;
        //code skipped intentionally 
    }
}

谢谢,

【问题讨论】:

    标签: c# .net-core razor-pages


    【解决方案1】:

    我建议使用 [ViewData] 属性:

    https://www.learnrazorpages.com/razor-pages/viewdata#viewdata-attribute

    这将使属性成为强类型并自动填充。我不确定“IsRecaptcaEnabledOnPasswordReset”是什么数据类型,但我假设以下字符串:

    [ViewData]
    public string IsRecaptcaEnabledOnPasswordReset { get; set; }
    

    在您的 Razor 页面中,您将能够使用以下任一方式访问该属性:

    @ViewData["IsRecaptcaEnabledOnPasswordReset"]
    @Model.IsRecaptcaEnabledOnPasswordReset
    

    【讨论】:

      猜你喜欢
      • 2023-04-03
      • 2012-09-15
      • 1970-01-01
      • 2017-01-28
      • 1970-01-01
      • 1970-01-01
      • 2023-01-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多