обрабатывать, если в виде бритвы - PullRequest
0 голосов
/ 15 февраля 2012

Есть ли лучший способ сделать это, если условие использует ? оператор

@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)

1 Ответ

2 голосов
/ 15 февраля 2012

Когда я читаю ваш код, 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 - когда строка пуста, элементы не возвращаются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...