public static MvcHtmlString TextAreaControlFor <TModel, TValue>(this HtmlHelper <TModel> html, Expression <Func <TModel, TValue> > expression, int rows, int columns, IDictionary <string, object> inputHtmlAttributes) { return (TextAreaControlHelper( html, expression, TextAreaExtensions.TextAreaFor(html, expression, rows, columns, inputHtmlAttributes))); }
public static MvcHtmlString TextAreaFor <TModel, TProperty>(this HtmlHelper <TModel> htmlHelper, Expression <Func <TModel, TProperty> > expression, string accessKey = null, string cssClass = null, int?cols = null, string dir = null, bool disabled = false, string id = null, string lang = null, bool readOnly = false, int?rows = null, string style = null, int?tabIndex = null, string title = null) { return(TextAreaExtensions.TextAreaFor( htmlHelper, expression, TextAreaAttributes(accessKey, cssClass, cols, dir, disabled, id, lang, readOnly, rows, style, tabIndex, title) )); }
public static MvcHtmlString TextArea(this HtmlHelper htmlHelper, string name, string value = null, string accessKey = null, string cssClass = null, int?cols = null, string dir = null, bool disabled = false, string id = null, string lang = null, bool readOnly = false, int?rows = null, string style = null, int?tabIndex = null, string title = null) { return(TextAreaExtensions.TextArea( htmlHelper, name, value, TextAreaAttributes(accessKey, cssClass, cols, dir, disabled, id, lang, readOnly, rows, style, tabIndex, title) )); }
public static MvcHtmlString ZN_TextAreaFor <TModel, TProperty>(this HtmlHelper <TModel> htmlHelper, Expression <Func <TModel, TProperty> > expression, object htmlAttributes = null) { TagBuilder tagResult = new TagBuilder("div"); tagResult.MergeAttribute("class", "form-group"); tagResult.InnerHtml += LabelExtensions.LabelFor(htmlHelper, expression).ToHtmlString(); tagResult.InnerHtml += TextAreaExtensions.TextAreaFor(htmlHelper, expression, htmlAttributes).ToHtmlString(); tagResult.InnerHtml += ValidationExtensions.ValidationMessageFor(htmlHelper, expression, "", new { @class = "error" }).ToHtmlString(); return(tagResult.ToHtml()); }
public void TextAreaFor_creates_required_and_date_data_attributes_for_nullable_DateTime_with_Required_attribute() { // Arrange var htmlHelper = HtmlHelperFactory.Create(new RequiredNullableDateTimeModel()); // Act var result = TextAreaExtensions.TextAreaFor(htmlHelper, exampleModel => exampleModel.Date, true); // Assert Assert.AreEqual(HTMLRequiredDate, result.ToHtmlString()); }
public static IHtmlString BTextAreaFor <TModel, TValue>(this HtmlHelper <TModel> helper, Expression <Func <TModel, TValue> > expression, object htmlAttributes, bool?isReadonly = null) { var _htmlAttr = HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes); ModelMetadata metadata = ModelMetadata.FromLambdaExpression(expression, helper.ViewData); AddDefaultAttribute(ref _htmlAttr, metadata); if (!_htmlAttr.ContainsKey("readonly") && isReadonly.HasValue) { _htmlAttr.Add("readonly", isReadonly); } return(TextAreaExtensions.TextAreaFor(helper, expression, new RouteValueDictionary(_htmlAttr))); }
public void TextAreaHelperDoesNotEncodeInnerHtmlPrefix() { // Arrange HtmlHelper helper = MvcHelper.GetHtmlHelper(); ModelMetadata metadata = ModelMetadata.FromStringExpression("foo", helper.ViewData); metadata.Model = "<model>"; // Act MvcHtmlString html = TextAreaExtensions.TextAreaHelper(helper, metadata, "testEncoding", rowsAndColumns: null, htmlAttributes: null, innerHtmlPrefix: "<prefix>"); // Assert Assert.Equal(@"<textarea id=""testEncoding"" name=""testEncoding""><prefix><model></textarea>", html.ToHtmlString()); }
public static MvcHtmlString KOTextAreaFor <TModel, TProperty>(this HtmlHelper <TModel> htmlHelper, Expression <Func <TModel, TProperty> > expression, object attribute) { var htmlAttributes = HtmlHelper.AnonymousObjectToHtmlAttributes(attribute); var name = GetMemberName(expression); if (!htmlAttributes.ContainsKey("data-bind")) { htmlAttributes.Add("data-bind", string.Format("value:{0}", name)); } else { htmlAttributes["data-bind"] = htmlAttributes["data-bind"] + "," + string.Format("value:{0}", name); } return(TextAreaExtensions.TextAreaFor(htmlHelper, expression, htmlAttributes)); }
public void TextAreaFor_creates_required_data_attributes_for_string_with_Required_attribute() { // Arrange var htmlHelper = HtmlHelperFactory.Create(new RequiredStringModel()); // Act var result = TextAreaExtensions.TextAreaFor(htmlHelper, exampleModel => exampleModel.String, true); // Assert Assert.AreEqual("<textarea " + "cols=\"20\" " + "data-msg-required=\"The String field is required.\" " + "data-rule-required=\"true\" " + "id=\"String\" name=\"String\" rows=\"2\">\r\n</textarea>", result.ToHtmlString()); }
public static MvcHtmlString MarkdownEditorFor <TModel, TProperty>(this HtmlHelper <TModel> htmlHelper, Expression <Func <TModel, TProperty> > expression, object htmlAttributes) { var textareaString = TextAreaExtensions.TextAreaFor(htmlHelper, expression, htmlAttributes); var renderEditor = true; if (renderEditor) { var editor = htmlHelper.Partial("_MarkdownEditor"); return(new MvcHtmlString(editor.ToString() + textareaString)); } else { return(textareaString); } }
public static MvcHtmlString BSFGForTextArea <TModel, TProperty>( this HtmlHelper <TModel> html, Expression <Func <TModel, TProperty> > expression, int col_sm, string PlaceHolder) { StringBuilder sb = new StringBuilder(); sb.AppendLine("<div class=\"form-group\">"); sb.AppendLine(LabelExtensions .LabelFor(html, expression, new { @class = String.Format("col-sm-{0} control-label", 12 - col_sm) }).ToHtmlString()); sb.AppendLine(String.Format("<div class=\"col-sm-{0}\">", col_sm)); sb.AppendLine(TextAreaExtensions .TextAreaFor(html, expression, 4, 1, new { @class = "form-control", placeholder = PlaceHolder }).ToHtmlString()); sb.AppendLine(ValidationExtensions .ValidationMessageFor(html, expression).ToHtmlString()); sb.AppendLine("</div>"); sb.AppendLine("</div>"); return(new MvcHtmlString(sb.ToString())); }
public static MvcHtmlString TextAreaWithErrorClassFor <TModel, TProperty>(this HtmlHelper <TModel> htmlHelper, Expression <Func <TModel, TProperty> > expression, object htmlAttributes, string errorClass) { MemberExpression body = expression.Body as MemberExpression; string propertyName = body.Member.Name; if (htmlHelper.ViewData.ModelState.IsValidField(propertyName)) { return(TextAreaExtensions.TextAreaFor(htmlHelper, expression, htmlAttributes)); } else { var attributes = HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes); if (attributes.ContainsKey("class")) { attributes["class"] += " " + errorClass; } else { attributes.Add("class", errorClass); } return(TextAreaExtensions.TextAreaFor(htmlHelper, expression, attributes)); } }
public static MvcHtmlString LsEditor <TModel, TValue>( this HtmlHelper <TModel> html, Expression <Func <TModel, TValue> > expression, bool isThisEditor = true, string LabelAddText = "", object htmlAttributes = null) { var rvd = new RouteValueDictionary(HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes)); var metaData = ModelMetadata.FromLambdaExpression(expression, html.ViewData); var memberExpression = (MemberExpression)expression.Body; var isRequired = memberExpression.Member.GetCustomAttributes(typeof(RequiredAttribute), false).Length != 0; var displayAttribute = (DisplayAttribute[])memberExpression.Member.GetCustomAttributes(typeof(DisplayAttribute), false); var propertyName = metaData.PropertyName; var displayName = metaData.DisplayName ?? propertyName; string className = isThisEditor ? "ls-editor-textarea" : ""; if (rvd.Any(q => q.Key == "class")) { rvd["class"] = rvd["class"] + $" {className} form-control text-box"; } else { rvd["class"] = $"{className} form-control text-box"; } var input = TextAreaExtensions.TextAreaFor(html, expression, rvd); var OuterDiv = new TagBuilder("div"); OuterDiv.AddCssClass("form-group row m-form__group"); var fieldLabel = new TagBuilder("label"); fieldLabel.Attributes.Add("for", propertyName); fieldLabel.AddCssClass("col-form-label col-md-2"); fieldLabel.InnerHtml = displayName + LabelAddText + (isRequired ? "<em>*</em>" : ""); bool hasError = false; var validationSpan = new TagBuilder("span"); validationSpan.AddCssClass("form-control-feedback"); var modelState = html.ViewData.ModelState; if (modelState[propertyName] != null) { var error = modelState[propertyName].Errors.FirstOrDefault(); if (error != null) { hasError = true; validationSpan.InnerHtml = error.ErrorMessage; } } if (hasError) { OuterDiv.AddCssClass("has-danger"); } var inputWrapper = new TagBuilder("div"); inputWrapper.AddCssClass("col-md-8"); inputWrapper.InnerHtml = input + validationSpan.ToString(); OuterDiv.InnerHtml = fieldLabel.ToString() + inputWrapper.ToString(); return(MvcHtmlString.Create(OuterDiv.ToString())); }