MVC C # nameof () частичное добавление с @ Html.Hidden не работает должным образом - PullRequest
0 голосов
/ 09 октября 2018

Я добавляю nameof (), чтобы добавить имя свойства в @ Html.Hidden ().Но это добавляет Частичное имя как префикс с точкой.Вот мой пример кода

@Html.Hidden(nameof(InputModel.ErrorUrl), Model.AddToCartInputModel.ErrorUrl) 

Это дает вывод как (см. name attribute)

<input id="AddToCartButton_ErrorUrl" name="AddToCartButton.ErrorUrl" type="hidden" value="">

То, что я ожидаю в выводе, должно быть таким

<input id="AddToCartButton_ErrorUrl" name="ErrorUrl" type="hidden" value="">

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Это все происходит из-за @Html.DisplayFor(), когда я пытался с @Html.Partial(), он работает нормально.Не знаю, почему HTML-помощники не работают должным образом с @Html.DisplayFor().

Спасибо за ваши предложения.

0 голосов
/ 09 октября 2018

Id & name будет непротиворечивым, если при использовании этой перегрузки вам нужен правильный Id и неправильное имя?Если это действительно то, что вы хотите сделать, просто переопределите атрибуты HtmlAttributes:

@Html.Hidden(nameof(InputModel.ErrorUrl), Model.AddToCartInputModel.ErrorUrl, new {name = "ErrorUrl", id = "AddToCartButton_ErrorUrl"}) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...