我对此有一个剃刀视图
<form asp-action="Action">
@Html.TextBoxFor(m => m.User.Name)
</form>
提交表单时,我想获取用户名作为参数,
但是使用user
,userName
,user_Name
不会映射该属性。
什么是asp.net核心,希望它能正确映射?
public ActionResult Action(MyModel m) // not desired
public ActionResult Action(string name) // tried userName and user_Name
{
}
答案 0 :(得分:3)
在这种情况下生成的输入的name
是User.Name
。当然,您不能调用参数User.Name
,因为它不是有效的C#标识符。一种简单的方法是使用User.Name
属性指示Model-Binder为您的name
参数使用FromForm
。例如:
public ActionResult Action([FromForm(Name = "User.Name")] string name)
{
}
通过这种方法,name
可以随您喜欢。