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); }
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); }
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); }