如果条件使用?
运算符
@if (!String.IsNullOrEmpty(Model.valores))
{
@crearContenedorTipo(
Model.IDTipodato,
Model.minimo, Model.maximo,
Model.valores.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries),
Model.salida, Model.IDCampo)
@Html.ValidationMessageFor(modelItem => Model.Nombre)
}
else
{
@crearContenedorTipo(
Model.IDTipodato,
Model.minimo, Model.maximo,
new string[] {},
Model.salida, Model.IDCampo)
@Html.ValidationMessageFor(modelItem => Model.Nombre)
}
这是我帮手的签名
@helper crearContenedorTipo(int tipoDato, int? min, int? max, string[] valor, bool salida, int id)
答案 0 :(得分:2)
在我阅读你的代码时,if
仅用于防止空字符串或空字符串。除了Model.valores参数之外,块的其余部分是相同的。因此,这相当于您的代码:
@crearContenedorTipo(
Model.IDTipodato,
Model.minimo, Model.maximo,
(Model.valores ?? String.Empty).Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries),
Model.salida, Model.IDCampo)
@Html.ValidationMessageFor(modelItem => Model.Nombre)
这是因为StringSplitOptions.RemoveEmptyEntries - 当字符串为空时,不返回任何项目。