首页 > 解决方案 > asp-for 标签助手不写入字段

问题描述

asp-for 标签不会写入我的字段,如果我设置received_text了文本,它将显示在网页中。该表单确实发送了数据,但received_text始终为空白。

CS:

public class IndexModel : PageModel
{
    public string received_text;

    public void OnGet()
    {
        Console.WriteLine("Text received = " + received_text);
    }
}

网页链接:

@page "/"

@model WebApplication2.HomePage.IndexModel
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

<p>Send text</p>
<form action="/" method="get">
    <input asp-for=received_text />
</form>

<p>@Model.received_text</p>

标签: asp.net-corerazor.net-core

解决方案


您必须BindProperty应用属性,并且它必须是属性,而不是字段:

[BindProperty]
public string received_text { get; set; }

推荐阅读