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>