You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core表单提交MERSISNumber(long)始终为0问题排查

问题原因及修复方案

核心问题分析

  1. 模型绑定不匹配
    第一个输入框手动设置了name="mersis",但你的视图模型CompanyCreateVM中对应的属性名为MERSISNumber。ASP.NET MVC的模型绑定依赖表单元素的name属性与模型属性名完全匹配,两者名称不一致时,无法将输入值绑定到MERSISNumber,而long类型的默认值为0,因此后端接收到的该参数始终是0。

  2. 重复ID违反HTML规范
    两个输入框都设置了id="taxNumber",ID在DOM中必须唯一,这会导致DOM操作异常,同时也干扰了asp-for的自动生成逻辑。

  3. 手动指定name覆盖了自动绑定
    asp-for="@Model.MERSISNumber"会自动生成与属性名一致的name和id属性,手动指定name="mersis"直接破坏了框架的自动绑定机制。

修复代码

修改两个输入框的代码,移除手动指定的id和name,让asp-for自动生成正确的属性:

<div class="mb-3 col-md-6">
    <label asp-for="@Model.MERSISNumber" class="form-label">MERSIS Numarası</label>
    <input class="form-control" type="text" asp-for="@Model.MERSISNumber" placeholder="MERSIS Numarası" />                                 
</div>

<div class="mb-3 col-md-6">
    <label asp-for="@Model.TaxNumber" class="form-label">Vergi Numarası</label>
    <input class="form-control" type="text" asp-for="@Model.TaxNumber" placeholder="Vergi Numarası" />                                 
</div>

修改后,asp-for会自动生成符合模型绑定要求的name和唯一的id,确保输入值能正确传递到后端的CompanyCreateVM参数中。

内容的提问来源于stack exchange,提问作者Dilara PINAR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 12:35:25