首页 > 解决方案 > 如何使用三元运算符检查将输入字段的值绑定到控件

问题描述

我有一些输入控件,我试图通过检查无效的 null 来绑定值

<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"><span>&#176;</span>

如果我在控件顶部使用空检查,则用户无法看到输入数据

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

我有一些像这样的控件,我需要绑定值字段。我尝试过的另一种方法正在起作用,但我想知道是否有可能按照第一条语句执行

这可行,但我有大约 20 个控件,所以我正在考虑让它按照第一个语句工作

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

标签: asp.net-mvc-4

解决方案


在这两种情况下,您都有语法错误。

<input id="LastKnownLatitudeDegree" name="VesselMissing.LastKnownLatitudeDegree"
    value="@(Model.VesselMissing != null ? Model.VesselMissing.LastKnownLatitudeDegree : "")" /> 

或者

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

推荐阅读