using System; using System.Collections.Generic; using System.Linq.Expressions; namespace Microsoft.AspNet.Mvc.Rendering { /// /// An for Linq expressions. /// /// The of the model. public interface IHtmlHelper : IHtmlHelper { /// /// Gets the current view data. /// new ViewDataDictionary ViewData { get; } /// /// Render an input element of type "checkbox" with value "true" and an input element of type "hidden" with /// value "false". /// /// /// An expression that identifies the object that contains the properties to render. /// /// An object that contains the HTML attributes to set for the element. /// Alternatively, an instance containing the HTML attributes. /// /// New containing the rendered HTML. HtmlString CheckBoxFor([NotNull] Expression> expression, object htmlAttributes); /// /// Returns HTML markup for each property in the object that is represented by the specified expression, using /// the template, an HTML field ID, and additional view data. /// /// The type of the value. /// An expression that identifies the object that contains the properties to display. /// /// The name of the template that is used to render the object. /// /// A string that is used to disambiguate the names of HTML input elements that are rendered for properties /// that have the same name. /// /// /// An anonymous object or dictionary that can contain additional view data that will be merged into the /// instance that is created for the template. /// /// The HTML markup for each property in the object that is represented by the expression. HtmlString DisplayFor([NotNull] Expression> expression, string templateName, string htmlFieldName, object additionalViewData); /// /// Gets the display name for the model. /// /// An expression that identifies the object that contains the display name. /// The type of the value. /// /// The display name for the model. /// HtmlString DisplayNameFor([NotNull] Expression> expression); /// /// Gets the display name for the inner model if the current model represents a collection. /// /// The type of the inner model /// The type of the value. /// An expression that identifies the object that contains the display name. /// The display name for the inner model. HtmlString DisplayNameForInnerType( [NotNull] Expression> expression); /// /// Returns the HtmlString corresponding to the expression specified. /// /// /// The expression identifies the object for which the HtmlString should be returned. /// /// /// New containing the display text. If the value is null, /// then it returns the ModelMetadata.NullDisplayText. /// HtmlString DisplayTextFor([NotNull] Expression> expression); /// /// Returns a single-selection HTML {select} element for the object that is represented /// by the specified expression using the specified list items, option label, and HTML attributes. /// /// The type of the value. /// An expression that identifies the value to display. /// A collection of objects that are used to populate the /// drop-down list. /// The text for a default empty item. This parameter can be null. /// An object that contains the HTML attributes to set for the {select} element. /// Alternatively, an instance containing the HTML attributes. /// /// An HTML {select} element with an {option} subelement for each item in the list. HtmlString DropDownListFor( [NotNull] Expression> expression, IEnumerable selectList, string optionLabel, object htmlAttributes); /// /// Returns an HTML input element for each property in the object that is represented by the specified /// expression, using the specified template, an HTML field ID, and additional view data. /// /// The type of the value. /// An expression that identifies the object that contains the properties to edit. /// /// The name of the template that is used to render the object. /// /// A string that is used to disambiguate the names of HTML input elements that are rendered for properties /// that have the same name. /// /// /// An anonymous object or dictionary that can contain additional view data that will be merged into the /// instance that is created for the template. /// /// The HTML markup for the input elements for each property in the object that is represented by the /// expression. HtmlString EditorFor([NotNull] Expression> expression, string templateName, string htmlFieldName, object additionalViewData); /// /// Render an input element of type "hidden". /// /// /// An expression that identifies the object that contains the properties to render. /// /// An object that contains the HTML attributes to set for the element. /// Alternatively, an instance containing the HTML attributes. /// /// New containing the rendered HTML. HtmlString HiddenFor([NotNull] Expression> expression, object htmlAttributes); /// /// Gets the Id of the given expression. /// /// The expression identifies the object for which the Id should be returned. /// New containing the Id. HtmlString IdFor([NotNull] Expression> expression); /// /// Returns an HTML label element and the property name of the property that is represented by the specified /// expression. /// /// An expression that identifies the property to display. /// An object that contains the HTML attributes to set for the element. /// The type of the value. /// /// An HTML label element and the property name of the property that is represented by the expression. /// HtmlString LabelFor([NotNull] Expression> expression, string labelText, object htmlAttributes); /// /// Gets the full HTML field name for the given . /// /// The the returns. /// An expression, relative to the current model. /// An that represents HTML markup. HtmlString NameFor([NotNull] Expression> expression); /// /// Render an input element of type "password". /// /// /// An expression that identifies the object that contains the properties to render. /// /// An object that contains the HTML attributes to set for the element. /// Alternatively, an instance containing the HTML attributes. /// /// New containing the rendered HTML. HtmlString PasswordFor([NotNull] Expression> expression, object htmlAttributes); /// /// Render an input element of type "radio". /// /// /// An expression that identifies the object that contains the properties to render. /// /// /// If non-null, value to compare with current expression value to determine whether radio button is /// checked. /// /// An object that contains the HTML attributes to set for the element. /// Alternatively, an instance containing the HTML attributes. /// /// New containing the rendered HTML. HtmlString RadioButtonFor([NotNull] Expression> expression, object value, object htmlAttributes); /// /// Render a textarea. /// /// An expression, relative to the current model. /// Number of rows in the textarea. /// Number of columns in the textarea. /// /// containing additional HTML attributes. /// /// New containing the rendered HTML. HtmlString TextAreaFor([NotNull] Expression> expression, int rows, int columns, object htmlAttributes); /// /// Render an input element of type "text". /// /// /// An expression that identifies the object that contains the properties to render. /// /// /// /// containing additional HTML attributes. /// /// New containing the rendered HTML. HtmlString TextBoxFor([NotNull] Expression> expression, string format, IDictionary htmlAttributes); /// /// Returns the model value for the given expression . /// /// An expression, relative to the current model. /// The optional format string to apply to the value. /// An that represents HTML markup. HtmlString ValueFor([NotNull] Expression> expression, string format); } }