Ejemplo n.º 1
0
        public TLayout Display(Expression <Func <TModel, object> > expression)
        {
            var layout   = new TLayout();
            var accessor = expression.ToAccessor();
            var request  = _generator.GetRequest(accessor);

            layout.LabelTag = _generator.LabelFor(request);
            layout.BodyTag  = _generator.DisplayFor(request);

            return(layout);
        }
        public HtmlTag ToHtmlTag()
        {
            _htmlRoot = new HtmlTag("div").AddClass("KYT_editor_input");
            if (_hide)
            {
                _htmlRoot.Hide();
            }
            ElementRequest request = _generator.GetRequest(_expression);

            Action <SelectTag> action = x =>
            {
                var value = request.RawValue;
                if (_items != null)
                {
                    foreach (SelectListItem option in _items)
                    {
                        x.Option(option.Text, option.Value);
                    }
                    if (value != null && value.ToString().IsNotEmpty())
                    {
                        x.SelectByValue(value.ToString());
                    }
                    else
                    {
                        SelectListItem defaultOption =
                            _items.FirstOrDefault(o => o.Selected);
                        if (defaultOption != null)
                        {
                            x.SelectByValue(defaultOption.Value);
                        }
                    }
                }
            };
            SelectTag tag  = new SelectTag(action);
            string    name = string.Empty;

            request.Accessor.Names.Each(x => name += x + ".");
            name = name.Substring(0, name.Length - 1);
            tag.Attr("name", name);
            addInternalCssClasses(_htmlRoot, tag);
            if (_elementId.IsNotEmpty())
            {
                tag.Id(_elementId);
            }
            _htmlRoot.Child(tag);
            return(_htmlRoot);
        }
Ejemplo n.º 3
0
 private ElementRequest elementRequest()
 {
     return(_tagGenerator.GetRequest(_accessor));
 }
Ejemplo n.º 4
0
 public FormLineExpression(ITagGenerator <T> tags, ILabelAndFieldLayout layout,
                           Expression <Func <T, object> > expression)
     : this(tags, layout, tags.GetRequest(expression))
 {
 }