/// <summary> /// Create a bootstrap select form group control /// </summary> /// <typeparam name="TModel">Type to be scanned</typeparam> /// <typeparam name="TValue">Property to be scanned</typeparam> /// <param name="html">Current HTML helper object</param> /// <param name="expression">Member expression</param> /// <param name="options">Select list options</param> /// <param name="htmlAttributes">[Optional] Extra HTML attributes</param> /// <returns>The created form control</returns> public static IFormControl <TModel, TValue> FormGroupControlFor <TModel, TValue>(this HtmlHelper <TModel> html, Expression <Func <TModel, TValue> > expression, ICollection <string> options, object htmlAttributes = null) { if (options == null) { throw new ArgumentNullException("options", "Select list options cannot be null"); } var newOptions = options.Select(f => new HtmlSelectListOption { Text = f, Value = f }).ToList(); BootstrapFormComponent <TModel, TValue> bfc = new BootstrapFormComponent <TModel, TValue>(expression, newOptions, htmlAttributes); if (newOptions.Any(f => f.Selected)) { UpdateComponent(html, bfc, expression, newOptions.First(f => f.Selected).Value); } else { UpdateComponent(html, bfc, expression); } return(new FormControl <TModel, TValue>(bfc)); }
/// <summary> /// Create a bootstrap form group control /// </summary> /// <typeparam name="TModel">Type to be scanned</typeparam> /// <typeparam name="TValue">Property to be scanned</typeparam> /// <param name="html">Current HTML helper object</param> /// <param name="expression">Member expression</param> /// <param name="htmlAttributes">[Optional] Extra HTML attributes</param> /// <returns>The created form control</returns> public static IFormControl <TModel, TValue> FormGroupControlFor <TModel, TValue>(this HtmlHelpers <TModel> html, Expression <Func <TModel, TValue> > expression, object htmlAttributes = null) { BootstrapFormComponent <TModel, TValue> bfc = new BootstrapFormComponent <TModel, TValue>(expression, htmlAttributes); return(new FormControl <TModel, TValue>(bfc)); }
/// <summary> /// Create a bootstrap textarea form group control /// </summary> /// <typeparam name="TModel">Type to be scanned</typeparam> /// <typeparam name="TValue">Property to be scanned</typeparam> /// <param name="html">Current HTML helper object</param> /// <param name="expression">Member expression</param> /// <param name="rows">No. of rows</param> /// <param name="columns">No. of columns</param> /// <param name="htmlAttributes">[Optional] Extra HTML attributes</param> /// <returns>The created form control</returns> public static IFormControl <TModel, TValue> FormGroupControlFor <TModel, TValue>(this HtmlHelper <TModel> html, Expression <Func <TModel, TValue> > expression, int rows, int columns, object htmlAttributes = null) { BootstrapFormComponent <TModel, TValue> bfc = new BootstrapFormComponent <TModel, TValue>(expression, rows, columns, htmlAttributes); UpdateComponent(html, bfc, expression); return(new FormControl <TModel, TValue>(bfc)); }
/// <summary> /// Create a bootstrap select form group control /// </summary> /// <typeparam name="TModel">Type to be scanned</typeparam> /// <typeparam name="TValue">Property to be scanned</typeparam> /// <param name="html">Current HTML helper object</param> /// <param name="expression">Member expression</param> /// <param name="options">Select list options</param> /// <param name="htmlAttributes">[Optional] Extra HTML attributes</param> /// <returns>The created form control</returns> public static IFormControl <TModel, TValue> FormGroupControlFor <TModel, TValue>(this HtmlHelpers <TModel> html, Expression <Func <TModel, TValue> > expression, IEnumerable <HtmlSelectListOption> options, object htmlAttributes = null) { if (options == null) { throw new ArgumentNullException("options", "Select list options cannot be null"); } var newOptions = options.Select(f => new HtmlSelectListOption(f.Text, f.Value, f.Selected)); BootstrapFormComponent <TModel, TValue> bfc = new BootstrapFormComponent <TModel, TValue>(expression, newOptions, htmlAttributes); return(new FormControl <TModel, TValue>(bfc)); }