我一直在关注这个指南 ,为了使用单轨的未来与我自己的药汁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;
}
然而,从这个,尽管是正确的语法,我得到以下错误:
节点 '$({返回Castle.MonoRail.Views.Brail.ExpandDuckTypedExpressions_WorkaroundForDuplicateVirtualMethods.Invoke(self.GetParameter(' LS '), 'EnumToPairs',(self.GetParameter(' 角色 ')))})' 一直没有正确
源错误没有太多帮助不幸的是:
第15行:输出FormHelper.TextField( “user.Role”,{ “类”: “文本输入全角”})线16:输出 “” “行17: ”“” 行18:输出FormHelper.Select( “user.Role” $ {LS.EnumToPairs(角色)},{ “值”: “第一”, “文”: “二”})第19行:输出 “””
任何想法,我做错了什么?
编辑
基于下面给出了答案,该解决方案终于这样的:
${FormHelper.Select("user.Role", LS.EnumToPairs(Roles), {"value":"First","text":"Second"})}
其中角色是PropertyBag["Roles"] = typeof(Role);