Фильтрация SelectList для одного элемента, но не для других - PullRequest
0 голосов
/ 29 января 2011

Итак, у меня есть это на переднем конце:

<%= Html.DropDownListFor(m => m.FixedComponent.PaymentBusinessDayConvention, DropDownData.BusinessDayConventionList(), "", new { @class = "DontShrink", propertyName = "FixedComponent.PaymentBusinessDayConvention", onchange = "UpdateField(this);" })%>

Здесь определено DropDownData.BusinessDayConventionList():

public static SelectList BusinessDayConventionList()
        {
            return ListBuilder(
                BusinessDayConventionHelper.GetFriendlyName(BusinessDayConvention.Following),
                BusinessDayConventionHelper.GetFriendlyName(BusinessDayConvention.ModifiedFollowing),
                BusinessDayConventionHelper.GetFriendlyName(BusinessDayConvention.Preceding),
                BusinessDayConventionHelper.GetFriendlyName(BusinessDayConvention.Unadjusted));
        }

Я хочу удалить параметр BusinessDayConvention.Unadjusted для ПРОСТОодин HTML Helper, но не для всех остальных на странице.Как я могу сделать это чисто?

Спасибо!

1 Ответ

0 голосов
/ 29 января 2011

Включить параметр в метод:

    public static SelectList BusinessDayConventionList(bool includeUnadjusted)
    {
       var list = ListBuilder(
            BusinessDayConventionHelper.GetFriendlyName(BusinessDayConvention.Following),
            BusinessDayConventionHelper.GetFriendlyName(BusinessDayConvention.ModifiedFollowing),
            BusinessDayConventionHelper.GetFriendlyName(BusinessDayConvention.Preceding));

       if (includeUnadjusted)
       {
         list.Items.Add(BusinessDayConventionHelper.GetFriendlyName(BusinessDayConvention.Unadjusted))
       }

       return list.
    }

Вы также можете иметь перегрузку для передачи значения по умолчанию:

    public static SelectList BusinessDayConventionList()
    {
       return BusinessDayConventionList(true);
    }
...