0
有没有更好的方式来做到这一点,这里是我助手的签名处理,如果在Razor视图
@helper crearContenedorTipo(int tipoDato, int? min, int? max, string[] valor, bool salida, int id)
有没有更好的方式来做到这一点,这里是我助手的签名处理,如果在Razor视图
@helper crearContenedorTipo(int tipoDato, int? min, int? max, string[] valor, bool salida, int id)
当我读到你的代码中, 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的 - 当字符串为空,则返回没有项目。
最好的方法是将if移出视图并移入控制器。视图不应包含逻辑。 – driis 2012-02-15 19:44:54
如果知道,该视图不应该包含逻辑,但我无法避免它在这种情况下 – Jorge 2012-02-15 19:45:56
为什么不让控制器在传递模型之前执行拆分字符串? – driis 2012-02-15 19:47:01