///<summary>
        /// Displays a configurable "Go To Page:" form for instances of PagedList.
        ///</summary>
        ///<param name="html">This method is meant to hook off HtmlHelper as an extension method.</param>
        ///<param name="list">The PagedList to use as the data source.</param>
        ///<param name="formAction">The URL this form should submit the GET request to.</param>
        ///<param name="options">Formatting options.</param>
        ///<returns>Outputs the "Go To Page:" form HTML.</returns>
        public static HtmlString PagedListGoToPageForm(this IHtmlHelper html,
                                                       IPagedList list,
                                                       string formAction,
                                                       GoToFormRenderOptions options)
        {
            var htmlHelper = new HtmlHelper(new TagBuilderFactory());
            var htmlString = htmlHelper.PagedListGoToPageForm(list, formAction, options);

            return(new HtmlString(htmlString));
        }
Exemple #2
0
        ///<summary>
        /// Displays a configurable "Go To Page:" form for instances of PagedList.
        ///</summary>
        ///<param name="html">This method is meant to hook off HtmlHelper as an extension method.</param>
        ///<param name="list">The PagedList to use as the data source.</param>
        ///<param name="formAction">The URL this form should submit the GET request to.</param>
        ///<param name="options">Formatting options.</param>
        ///<returns>Outputs the "Go To Page:" form HTML.</returns>
        public static HtmlString PagedListGoToPageForm(this IHtmlHelper html,
                                                       IPagedList list,
                                                       string formAction,
                                                       GoToFormRenderOptions options)
        {
            var form = new TagBuilder("form");

            form.AddCssClass("PagedList-goToPage");
            form.Attributes.Add("action", formAction);
            form.Attributes.Add("method", "get");

            var fieldset = new TagBuilder("fieldset");

            var label = new TagBuilder("label");

            label.Attributes.Add("for", options.InputFieldName);
            SetInnerText(label, options.LabelFormat);

            var input = new TagBuilder("input");

            input.Attributes.Add("type", options.InputFieldType);
            input.Attributes.Add("name", options.InputFieldName);
            input.Attributes.Add("value", list.PageNumber.ToString());
            input.Attributes.Add("class", options.InputFieldClass);
            input.Attributes.Add("Style", $"width: {options.InputWidth}px");

            var submit = new TagBuilder("input");

            submit.Attributes.Add("type", "submit");
            submit.Attributes.Add("value", options.SubmitButtonFormat);
            submit.Attributes.Add("class", options.SubmitButtonClass);
            submit.Attributes.Add("Style", $"width: {options.SubmitButtonWidth}px");

            AppendHtml(fieldset, TagBuilderToString(label));

            AppendHtml(fieldset, TagBuilderToString(input, TagRenderMode.SelfClosing));

            AppendHtml(fieldset, TagBuilderToString(submit, TagRenderMode.SelfClosing));

            AppendHtml(form, TagBuilderToString(fieldset));
            return(new HtmlString(TagBuilderToString(form)));
        }