asp.net-mvc-4 - 如何使用三元运算符检查将输入字段的值绑定到控件
问题描述
我有一些输入控件,我试图通过检查无效的 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>°</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>°</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>°</span>
解决方案
在这两种情况下,您都有语法错误。
<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>°</span>
}
推荐阅读
- c# - 从数据库实体选择到具有相同属性名称的视图模型的简写
- javascript - 如何使 webpack 模块(内部逻辑)自执行?
- r - 如何计算 R 文本中的年份?
- django - 为什么 Django Rest API id 不按顺序排列?
- amazon-web-services - AWS Internet 网关的公共 IP
- reactjs - 带有 Typescript 组件的 React 中的 Proptypes 抛出错误 TS 2322
- python-3.x - python中乘法时带括号和不带括号的不同精度值
- php - 如何在php中循环多个表单输入并分配给sql查询?
- c# - 发送列表
作为 ASP.NET Core Web Api 中帖子正文中的可选参数 - python-3.x - 返回所有字典键的列表