stevenjin 2024-03-22 23:32 采纳率: 97.6%
浏览 6
已结题

asp.net core mvc提交model获取不到值

提交modle到后台时获取不到值,全部为空。不知错在了哪?
1.后台返回一个列表给视图
return PartialView(lstProduct);

2.视图,可以看到绑定值成功
@model List

 for (int i = 0; i < Model.Count; i++)
  {
                                Product product = Model[i];
<form asp-controller="Controls" id="main" asp-action="UpdateProduct" method="post" data-ajax="true" data-ajax-begin="begin" data-ajax-primary="afterSuccess" data-ajax-complete="completed" data-ajax-failure="failed">
                                            <table class="table table-borderless">
                                                <tbody>
                                                    <tr>
                                                        <td>
                                                        </td>
                                                    </tr>
                                                    <tr>
                                                        <td>
                                                            <input asp-for="@product .Name" type="text" value=@product .Name" class="form-control input-group input-group-lg" />
                                                            <input asp-for="@product .No" type="hidden" value="@product .No" />
                                                        </td>
                                                    </tr>
 <tr>
                                                        <td><input type="reset" value="Cancel" class="form-control btn-secondary" /></td>
                                                        <td><input type="submit" value="Confirm" class="form-control btn-primary" /></td>
                                                    </tr>
}

3.提交处理时,获取所有字段均为空值

    public async Task<IActionResult> UpdateProduct(Product Product)   
{
}

  • 写回答

2条回答 默认 最新

  • Kwan的解忧杂货铺 Java领域优质创作者 2024-03-22 23:32
    关注

    stevenjin 晚上好🌙🌙🌙
    本答案参考ChatGPT-3.5

    问题可能出在表单的数据绑定上,导致提交的数据无法正确地绑定到Model上。以下是可能的解决方案:

    1. 确保Model属性与表单中的输入字段的名称一致。在这种情况下,Product模型应包含与视图中输入字段的名称相匹配的属性。
    2. 确保表单中的输入字段与Model属性正确地绑定。检查视图中的输入字段的asp-for属性是否设置为正确的Model属性。
    3. 如果表单中的部分字段使用了隐藏输入字段,也要确保这些字段的asp-for属性与Model属性匹配。
    4. 确保视图中的表单元素被包裹在form标签中,并正确设置了asp-controller、asp-action等属性。
    5. 检查表单的提交方法是否为POST,并指定正确的action和controller。
    6. 如果使用了AJAX提交表单,在确认提交时检查JavaScript代码中的函数是否正确设置。 7. 在控制器的UpdateProduct方法中,尝试使用[FromBody]属性将传递的数据绑定到Model。
    7. 检查控制器中是否有相关的Model绑定过滤器,如[Bind]属性或[FromBody]属性,并确保它们与Model属性匹配。

    请尝试根据上述步骤检查和修改代码,以确保正确绑定提交的Model数据。如果问题仍然存在,请提供更完整的代码细节,以便进一步帮助你解决问题。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月1日
  • 已采纳回答 3月24日
  • 修改了问题 3月22日
  • 修改了问题 3月22日
  • 展开全部

悬赏问题

  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向