Вопрос

Я следул Это руководство и придумать свой собственный сопоставление для использования монорельса FormHelper.Select это генерируется из мошенничества. Так вот синтаксис браля:

${FormHelper.Select("user.Role", ${LS.EnumToPairs(Roles)}, {"value":"First", "text":"Second"})}

«Ls» - это просто мой помощник, который я определил следующим образом:

public IEnumerable<Pair<int, string>> EnumToPairs(Type e)
{
    IList<Pair<int, string>> pairs = new List<Pair<int, string>>();

    foreach (int val in Enum.GetValues(e))
        pairs.Add(new Pair<int, string>(val, Enum.GetName(e, val)));

    return pairs;
}

Тем не менее, из этого, несмотря на правильный синтаксис, я получаю следующую ошибку:

Узел '$ ({return castle.monorail.views.bail.expandducttypexpression_workaroundformploxatevirtualmethods.invoke (Self.getParameter (' ls '), «Оценка», (Self.getParammeter («роли»),))})' не был правильно

Исходная ошибка не помогает многое, к сожалению:

Строка 15: Выход FORMHELPER.TextField («user.role», {"Class": «Текстовая входная полная ширина»}) Линия 16: Выход "" "line 17:" "" line 18: Выход FORMHELPER .SELECT ( «User.role», $ {Lshenumtopairs (роли)}, {"значение": «Первый», «Текст»: «Второй»}) Line 19: Выход "" ""

Любые идеи, что я здесь делаю не так?

РЕДАКТИРОВАТЬ

Исходя из ответа, приведенного ниже, решение было окончательно это:

${FormHelper.Select("user.Role", LS.EnumToPairs(Roles), {"value":"First","text":"Second"})}

Где роли были PropertyBag["Roles"] = typeof(Role);

Это было полезно?

Решение

Попробуй это:

${FormHelper.Select("user.Role", LS.EnumToPairs(typeof(Roles)), {"value":"First", "text":"Second"})}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top