我的 .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)任何關(guān)于為什么的解釋將不勝感激。
1 回答

繁花如伊
TA貢獻2012條經(jīng)驗 獲得超12個贊
一個有點老的問題,但無論如何:BindPropertyAttribute
允許您訪問在OnPost
方法視圖中輸入的值,即。在這種情況下,綁定代表從視圖到模型的綁定。模型類中的所有公共屬性 getter 和字段都可以在視圖中訪問,因為它們被認為只是 Razor 代碼使用的對象實例。
BindPropertyAttribute
是必需的,因為在提交和調(diào)用表單時會創(chuàng)建一個新的模型對象OnPost
,然后該屬性會指示 Razor Page 將表單中的相應(yīng)值設(shè)置為匹配的屬性。
- 1 回答
- 0 關(guān)注
- 268 瀏覽
添加回答
舉報
0/150
提交
取消