示例#1
0
        public static IHtmlString CheckBoxFor <TModel, TR>(this HtmlHelpers <TModel> html,
                                                           Expression <Func <TModel, TR> > prop, object htmlAttributes) where TModel : class
        {
            var tag = HtmlTagBuilder.CreateCheckBoxFor(html, prop, htmlAttributes);

            html.AppendValidationResults(tag);
            return(tag != null ? new NonEncodedHtmlString(tag.ToString()) : NonEncodedHtmlString.Empty);
        }
示例#2
0
        public static IHtmlString InputElementFor <TModel, TR>(this HtmlHelpers <TModel> html,
                                                               Expression <Func <TModel, TR> > prop, object htmlAttributes) where TModel : class
        {
            var property = prop.AsPropertyInfo();

            if (property == null)
            {
                return(NonEncodedHtmlString.Empty);
            }
            var inputType = GetInputTypeByProperty(property);
            var tag       = inputType == HtmlInputType.Checkbox ?
                            HtmlTagBuilder.CreateCheckBoxFor(html, prop, htmlAttributes) :
                            HtmlTagBuilder.CreateInputElementFor(html, prop, inputType, htmlAttributes);

            html.AppendValidationResults(tag);
            return(tag != null ? new NonEncodedHtmlString(tag.ToString()) : NonEncodedHtmlString.Empty);
        }
示例#3
0
        public static IHtmlString DropDownListFor <TModel, TS, TV, TT>(
            this HtmlHelpers <TModel> html,
            Expression <Func <TModel, IEnumerable <TS> > > source,
            Expression <Func <TModel, TV> > propModelValue,
            Expression <Func <TS, TV> > propItemValue, Expression <Func <TS, TT> > propItemText)
            where TModel : class
        {
            var model = html.Model;

            if (model == null)
            {
                return(NonEncodedHtmlString.Empty);
            }
            var sourceProperty = source.AsPropertyInfo();
            var items          = sourceProperty.GetValue(model) as IEnumerable <TS>;
            var list           = SelectList.CreateFrom(items, propItemValue, propItemText);
            var tag            = HtmlTagBuilder.CreateSelectFor(model, propModelValue, list);

            html.AppendValidationResults(tag);
            return(tag != null ? new NonEncodedHtmlString(tag.ToString()) : NonEncodedHtmlString.Empty);
        }