Как привязать значение поля ввода к элементу управления с помощью проверки тернарного оператора

#asp.net-mvc-4

Вопрос:

У меня есть некоторые элементы управления вводом, где я пытаюсь привязать значение, проверив значение null, которое не работает

 lt;input id="LastKnownLatitudeDegree" name="VesselMissing.LastKnownLatitudeDegree" value="@Model.VesselMissing != null ? @Model.VesselMissing.LastKnownLatitudeDegree : ''" class="form-control" max="89" min="0" step="1" type="number" data-dec="0"gt;lt;spangt;amp;#176;lt;/spangt;  

Если я использую нулевую проверку поверх элемента управления, он не будет виден пользователю для ввода данных

 @if (@Model.VesselMissing != null) {  lt;input id="LastKnownLatitudeDegree" name="VesselMissing.LastKnownLatitudeDegree" value="@Model.VesselMissing.LastKnownLatitudeDegree" class="form-control" max="89" min="0" step="1" type="number" data-dec="0"gt;lt;spangt;amp;#176;lt;/spangt; }  

У меня есть несколько таких элементов управления, где мне нужно привязать поле значения. Есть другой метод, который я опробовал, работает, но я хотел бы знать, есть ли возможность сделать это в соответствии с первым утверждением

Это работает, но у меня есть около 20 элементов управления, поэтому я рассматриваю возможность заставить его работать в соответствии с первым утверждением

 @{  string LastKnownLatitudeDegree = string.Empty;  if(Model.VesselMissing !=null)  {  LastKnownLatitudeDegree = Model.VesselMissing.LastKnownLatitudeDegree;  }  }  lt;input id="LastKnownLatitudeDegree" name="VesselMissing.LastKnownLatitudeDegree" value="@LastKnownLatitudeDegree class="form-control" max="89" min="0" step="1" type="number" data-dec="0"gt;lt;spangt;amp;#176;lt;/spangt;  

Ответ №1:

В обоих случаях у вас есть синтаксическая ошибка.

 lt;input id="LastKnownLatitudeDegree" name="VesselMissing.LastKnownLatitudeDegree"  value="@(Model.VesselMissing != null ? Model.VesselMissing.LastKnownLatitudeDegree : "")" /gt;   

или

 @if (Model.VesselMissing != null) {  lt;input id="LastKnownLatitudeDegree" name="VesselMissing.LastKnownLatitudeDegree" value="@Model.VesselMissing.LastKnownLatitudeDegree" class="form-control" max="89" min="0" step="1" type="number" data-dec="0"gt;lt;spangt;amp;#176;lt;/spangt; }  

Комментарии:

1. Привет, спасибо то же самое, что я подал заявку на TextArea, но по умолчанию он отображается как «» может ли он быть пустым

2. lt;textareagt; не поддерживает этот value атрибут.

3. Я пробовал этот способ в соответствии с вашим lt;textarea class="form-control" placeholder="Enter Extent of Damage here" id="ExtentOfDamage" style="height: 100px" name="MaterialDamage.ExtentOfDamage"gt;@(Model.MaterialDamage != null ? Model.MaterialDamage.ExtentOfDamage : "")lt;/textareagt;

4. Ладно понял, я исправил