我有一个剃刀的视野
<form asp-action="Action"> @Html.TextBoxFor(m => m.User.Name) </form>
提交表单时,我想获取作为参数的用户名称, 但与 user , userName , user_Name 属性未映射。
user
userName
user_Name
ASP.NET核心需要什么作为名称才能正确映射?
public ActionResult Action(MyModel m) // not desired public ActionResult Action(string name) // tried userName and user_Name { }
这个 name 在此方案中生成的输入为 User.Name . 不能调用参数 用户名称 当然,因为这不是有效的C标识符。一个简单的方法是指导模型绑定器使用 用户名称 为了你 名称 参数使用 FromForm 属性。例如。:
name
User.Name
用户名称
名称
FromForm
public ActionResult Action([FromForm(Name = "User.Name")] string name) { }
通过这种方法, 名称 可以是你喜欢的任何东西。