asp.net mvc项目中如果不使用asp-for直接为控件命名id-name时后台拿不到值的情况

asp.net mvc项目中如果不使用asp-for直接为控件命名id-name时后台拿不到值的情况, 什么意思呢?
<input class="layui-input" id="aaa" name="aaa" style="width:800px;margin-bottom:3px;" />
上面直接书写
id="aaa" name="aaa"
使用
<form asp-action="Create" class="layui-form" lay-filter="form1" id="form1">
的方式提交到后台,后台以frombody的形式来接收
public async Task<IActionResult> Create(ViewArticlenews viewArticlenews)
{
。。。。
}当前台以js动态为id="aaa"赋值时(直接写值除外),上面 viewArticlenews 里面是拿不到aaa的值,当然这里说的不使用ajax提交,直接使用asp.net mvc的form表单提交的方式,使用asp-for来布局控件时,如果改为如下形式,则可以正常拿到
<input class="layui-input" asp-for="aaa" style="width:800px;margin-bottom:3px;" />
asp-for运行后,会产生一个input具有 id和name 为 aaa的控件 ,
<input class="layui-input valid" style="width:800px;margin-bottom:3px;" type="text" data-val="true" data-val-required="The provincecitys field is required." id="aaa" name="aaa" value="" aria-describedby="provincecitys-error">
此时提交后台才可以接收到值
















