Я пытаюсь отобразить комбо и текстовое поле. Комбинация показывает ОК и получает значение и список из модели. Есть еще 6 комбо, и все работают нормально. Но SalesPrice
- единственное текстовое поле, и оно пустое.
<div class = "form-group">
@Html.LabelFor(model => model.PriceSourceSelected, htmlAttributes: new { @class = "control-label col-md-2" })
<div class = "col-md-10">
@Html.DropDownListFor(m => m.PriceSourceSelected, Model.PriceSourceList, "Seleccione Origen", htmlAttributes: new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.PriceSourceSelected, "", new { @class = "text-danger" })
</div>
</div>
<div class = "form-group">
@Html.LabelFor(model => model.SalesPrice, htmlAttributes: new { @class = "control-label col-md-2" })
<div class = "col-md-10">
@Html.EditorFor(model => model.SalesPrice, new { htmlAttributes = new { @class = "form-control numericOnly", @type = "number" } })
@Html.ValidationMessageFor(model => model.SalesPrice, "", new { @class = "text-danger" })
</div>
</div>
Проверяя локальные переменные при отладке представления, я вижу, что SalesPrice имеет правильное значение:
РЕДАКТИРОВАТЬ
DisplayFor работает нормально. Итак, я думаю, это проблема с десятичным разделителем.
Попробуйте использовать @ Html.TextBoxFor (). Извините за краткий ответ / предложение, пока не могу добавлять комментарии.
Я просто пробую DisplayFor. и работает нормально, проверьте вопрос
Я думаю, вы правы, потому что вы говорите, что это номер типа, но в этой культуре есть запятая. Попробуйте удалить "type = number" и повторите попытку с помощью EditorFor или TextBoxFor.
Я решил изменить uiCulture в своем Web.Config
<system.web>
<globalization uiCulture = "en" culture = "en-US" />
Вероятно, это связано с тем, что тип свойства является десятичным, допускающим значение NULL, и вы принудительно устанавливаете для атрибута типа ввода значение number, которое не поддерживает должным образом десятичные дроби (вероятно, из-за разделителя). У меня есть ощущение, что проблема. Попробуйте установить для атрибута type значение text или просто пропустите его.