public DefaultAspNetMvcHtmlConventions() { Editors.IfPropertyIs <bool>().BuildBy(req => { var check = new CheckboxTag(req.Value <bool>()).Attr("value", req.StringValue()); var hidden = new HiddenTag().Attr("name", req.ElementId).Attr("value", false); return(check.Append(hidden)); }); Editors.IfPropertyIs <IEnumerable <SelectListItem> >().BuildBy(req => { var list = req.Value <IEnumerable <SelectListItem> >(); var drop = new SelectTag(); foreach (var item in list) { drop.Add("option").Attr("value", item.Value).Attr("selected", item.Selected).Text(item.Text); } return(drop); }); Editors.Always.ModifyWith(AddElementName); //Editors.Always.BuildBy(TagActionExpression.BuildTextbox); //Displays.Always.BuildBy(req => new HtmlTag("span").Text(req.StringValue())); //Labels.Always.BuildBy(req => new HtmlTag("span").Text(req.Accessor.Name)); }
public static HiddenTag HiddenTag <T>(this HtmlHelpers <T> html, Expression <Func <T, object> > valueSelector) { var name = valueSelector.GetName(); var result = new HiddenTag(); result.Name(name).Id(name); return(result); }
public static HiddenTag HiddenInputFor <T>(this IFubuPage <T> page, Expression <Func <T, object> > expression) where T : class { var name = page.ElementNameFor(expression); var value = page.Model.ValueOrDefault(expression); var hiddenTag = new HiddenTag().Name(name); hiddenTag.Value(value); return(hiddenTag); }
public SamlResponseRedirectionDocument(string response, string destination) { Title = "Saml2 Response Redirection"; var form = new FormTag(destination); Push(form); var hiddenTag = new HiddenTag().Attr("name", SamlAuthenticationStrategy.SamlResponseKey) .Attr("value", response); Add(hiddenTag); Pop(); AddJavaScript("window.onload = function () { document.forms[0].submit(); }"); }
private static HtmlTag BuildCheckBox(ElementRequest request) { var namingConvention = new DotNotationElementNamingConvention(); var name = namingConvention.GetName(request.HolderType(), request.Accessor); var checkboxTag = new CheckboxTag(request.Value <bool>()) .Attr("value", "true") .Attr("name", name) .Attr("id", name); var mvcConventionHiddenInput = new HiddenTag() .Attr("value", "false") .Attr("name", name); checkboxTag.After(mvcConventionHiddenInput); return(checkboxTag); }
static HtmlTag GenerateInputHidden <TModel> (TModel model, PropertyInfo member) { var modelValue = member.GetValue(model, null); if (modelValue == null) { return(null); } //<input type="hidden" name="member.Name" id="member.Name" value="modelValue.ToString ()" /> var input = new HiddenTag() .Attr("name", member.Name) .Attr("value", modelValue.ToString()) .Id(member.Name); FillValidation <TModel> (input, member); return(input); }
public DefaultHtmlConventions() { Displays.Always.BuildBy(req => new HtmlTag("span").Text(req.GetValue <string>())); Labels.Always.BuildBy(req => new HtmlTag("label").Attr("for", req.Id).Text(req.Accessor.InnerProperty.Name.BreakUpCamelCase())); Inputs.Always.BuildBy(req => { return(new TextboxTag().Attr("value", req.GetAttemptedValue() ?? req.GetValue <string>())); }); Inputs.If <bool>().BuildBy(req => { var attemptedVal = req.GetAttemptedValue(); var isChecked = attemptedVal != null ? attemptedVal.Split(',').First() == Boolean.TrueString: req.GetValue <bool>(); var check = new CheckboxTag(isChecked).Attr("value", true); var hidden = new HiddenTag().Attr("name", req.Name).Attr("value", false); return(check.After(hidden)); }); Inputs.If <IEnumerable <SelectListItem> >().BuildBy(BuildSelectList); Inputs.If <MultiSelectList>().BuildBy(BuildSelectList); All.Always.Modify((h, r) => { h.Id((string.IsNullOrEmpty(r.Id) ? null : r.Id) ?? (string.IsNullOrEmpty(h.Id()) ? null : h.Id())); if (h.IsInputElement()) { h.Attr("name", r.Name ?? (string.IsNullOrEmpty(h.Attr("name")) ? null : h.Attr("name"))); } }); Labels.Always.Modify((h, r) => h.Id(r.Id + "_" + "Label")); Displays.Always.Modify((h, r) => h.Id(r.Id + "_" + "Display")); Inputs.Always.Modify((h, r) => { //Validation class ModelStateEntry modelState; if (r.ViewContext.ViewData.ModelState.TryGetValue(r.Name, out modelState) && modelState.Errors.Count > 0) { h.AddClass(HtmlHelper.ValidationInputCssClassName); } }); }
public CombinationConventions() { Inputs.If <CombinationType>().BuildBy((r, p) => { var val = r.GetValue <CombinationType>(); if (val.IsSingle) { var div = new DivTag().Text(val.Name); var hidden = new HiddenTag().Id(r.Id).Attr("name", r.Name).Attr("value", val.Value); hidden.WrapWith(div); return(hidden.RenderFromTop()); } return(p.Build <CombinationType>(x => x.Items)); }); All.If <DateTime>().Modify((h, r) => { var val = r.GetValue <DateTime>(); h.Text(val.ToString("yyyyMMdd")); }); }
public DataAnnotationHtmlConventions() { Labels.IfAttribute <DisplayNameAttribute>().Modify((h, r, a) => h.Text(a.DisplayName)); Inputs.IfAttribute <DataTypeAttribute>().BuildBy((r, a) => { if (a.DataType == DataType.Text) { return(new HtmlTag("textarea").Text(r.GetAttemptedValue() ?? r.GetValue <string>())); } return(null); }); Inputs.IfAttribute <DataTypeAttribute>().Modify((h, r, a) => { if (a.DataType == DataType.Password) { h.Attr("type", "password").Attr("value", null).Attr("autocomplete", "off"); } }); Inputs.IfAttribute <HiddenInputAttribute>().BuildBy((r, a) => { var hidden = new HiddenTag().Attr("value", r.GetAttemptedValue() ?? r.GetValue <object>()); return(hidden); }); Inputs.IfAttribute <StringLengthAttribute>().Modify((h, r, a) => { h.Attr("maxlength", a.MaximumLength); if (a.MinimumLength > 0) { h.Attr("minlength", a.MinimumLength); } }); Inputs.Always.Modify((h, r) => AddNumberClasses(r, h)); }