索引中表单中的值不会传递到后端

问题描述 投票:0回答:1

我正在使用razor页面制作asp.net核心程序,我想将数据从index.cshtml页面发送到indes.cshtml.cs,我在表单中使用asp-for方法将值传递给变量在 .cs 文件中,但该值永远不会被传递。这就是代码的样子。

这是前端的形状

<form method="post" autocomplete="on">
    <label class="offscreen" for="searchText">Enter a game</label>
    <input type="text" id="searchText" class="searchText" name="searchText" list="games" asp-for="gameViewModel.Name"/>
</form>

这是它后面的 .ccs 文件(它比这个大一点,但这是我将其传递给的变量)

public class IndexModel : PageModel
{
    private readonly ILogger<IndexModel> _logger;

    public IndexModel(ILogger<IndexModel> logger)
    {
        _logger = logger;
    }

    [BindProperty]
    public GameViewModel gameViewModel { get; set; }
}

这是视图模型

public class GameViewModel
{
    public string Name {  get; set; }
}

我在程序的其他页面上做了同样的事情,名称值很好地传递给了 gameViewModel,只是在索引页面中这不起作用。 我尝试过改变一些小事情,但没有任何改变。

asp.net-core razor-pages
1个回答
0
投票

您已显式设置输入标签助手的

name
id
属性,这将覆盖标签助手的输出。删除
name
id
属性:

<input type="text" class="searchText" list="games" asp-for="gameViewModel.Name"/>
© www.soinside.com 2019 - 2024. All rights reserved.