为了账号安全,请及时绑定邮箱和手机立即绑定

需要 Razor Pages 模型绑定 [BindProperty]?

需要 Razor Pages 模型绑定 [BindProperty]?

C#
开满天机 2022-07-23 16:03:52
我的 .cs 文件中有以下代码:[BindProperty]public ApimSubscriptionRoot apimSubscriptions { get; set; }...这允许我在我的 Razor 视图中访问对象的属性:@Model.apimSubscriptions.someProperty...但是将它定义为一个字段也适用于我能够在我的视图中显示对象的属性:public ApimSubscriptionRoot apimSubscriptions;背后的剃刀代码(控制器):public async Task<IActionResult> OnGet() {    (some code...)    apimSubscriptions = JsonConvert.DeserializeObject<ApimSubscriptionRoot>(contents);    return Page();}剃刀页面(查看):@page@model Subscriptions@{    ViewData["Title"] = "Your subscriptions";    ViewData["ActivePage"] = ManageNavPages.Subscriptions;}<h4>@ViewData["Title"]</h4><div class="row">    <div class="col-md-12">        @if (Model.apimSubscriptions.value.Length == 0 || Model.apimSubscriptions == null)任何关于为什么的解释将不胜感激。
查看完整描述

1 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

一个有点老的问题,但无论如何:BindPropertyAttribute允许您访问在OnPost方法视图中输入的值,即。在这种情况下,绑定代表从视图到模型的绑定。模型类中的所有公共属性 getter 和字段都可以在视图中访问,因为它们被认为只是 Razor 代码使用的对象实例。

BindPropertyAttribute是必需的,因为在提交和调用表单时会创建一个新的模型对象OnPost,然后该属性会指示 Razor Page 将表单中的相应值设置为匹配的属性。


查看完整回答
反对 回复 2022-07-23
  • 1 回答
  • 0 关注
  • 244 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信