C# 具有空属性的.NET核心MVC表单传递模型

C# 具有空属性的.NET核心MVC表单传递模型,c#,razor,asp.net-core,asp.net-core-mvc,C#,Razor,Asp.net Core,Asp.net Core Mvc,我有一个表单,假设它将我的遭遇模型传递给我的角色控制器的创建角色操作方法 表格如下: <form asp-action="CreateCharacter" asp-controller="Character" data-ajax="true" data-ajax-mode="replace" data-ajax-update="#character-container"> <button class="btn btn-default" type="submit">

我有一个表单,假设它将我的
遭遇
模型传递给我的
角色控制器
创建角色
操作方法

表格如下:

<form asp-action="CreateCharacter" asp-controller="Character" data-ajax="true" data-ajax-mode="replace" data-ajax-update="#character-container">
    <button class="btn btn-default" type="submit">Create Chracter</button>
</form>
conference
的所有属性在不应为空时都为空。为了澄清,
interface
是表单所在视图的模型。在这个视图中,我使用了
interface
Name
属性,它工作得很好。但是,当我将模型传递给控制器时,
Name
属性现在为空


我不明白为什么会发生这种情况,因为我在其他地方有一个非常类似的表单,可以通过模型罚款。

没有数据提交给控制器

该表单只有一个提交按钮

它不发送任何数据,因为没有表示要发送的模型的输入字段

如果它不发送任何内容,那么该操作将获得空值

确保要发送的值与要发送的模型上的属性相匹配

<form asp-action="CreateCharacter" asp-controller="Character" data-ajax="true" 
        data-ajax-mode="replace" data-ajax-update="#character-container">

    <input type="hidden" name="propertyName" value="propertyValue">

    <!--
    <input ... />
    <input ... />
    <input ... />
    -->     

    <button class="btn btn-default" type="submit">Create Chracter</button>
</form>

创建Chracter

该表单如何填充模型?没有输入字段。表单应该填充哪些字段?我使用表单作为一种变通方法,在单击按钮时将模型发送给控制器。这可能是我的问题吗?但是没有什么可以发送的。该表单只有一个提交按钮。它不发送任何数据,因为没有表示要发送的数据的输入字段。如果它不发送任何内容,那么该操作将得到一个空值。这是有意义的。我现在添加了隐藏输入以传递属性。非常感谢。如果您不介意我问一下,是否使用表单将模型传递给控制器是最佳做法?这通常是它们提交给控制器的方式。
<form asp-action="CreateCharacter" asp-controller="Character" data-ajax="true" 
        data-ajax-mode="replace" data-ajax-update="#character-container">

    <input type="hidden" name="propertyName" value="propertyValue">

    <!--
    <input ... />
    <input ... />
    <input ... />
    -->     

    <button class="btn btn-default" type="submit">Create Chracter</button>
</form>