Соглашение о присвоении имен для параметров в действиях для ядра asp.net - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть бритва, с которой

 <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
{

}

1 Ответ

0 голосов
/ 18 сентября 2018

name входных данных, генерируемых в этом сценарии, равно User.Name.Конечно, вы не можете вызвать свой параметр User.Name, так как это недопустимый идентификатор C #.Простой способ выполнить эту работу - дать указание Model-Binder использовать User.Name для вашего параметра name, используя атрибут FromForm.Например:

public ActionResult Action([FromForm(Name = "User.Name")] string name)
{

}

При таком подходе name может быть любым, что вам нравится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...