protected virtual string BeginForm <TModel>(IHtmlHelper htmlHelper, RoboUIFormResult <TModel> roboForm, string formId) where TModel : class { string formActionUrl = string.IsNullOrEmpty(roboForm.FormActionUrl) ? htmlHelper.ViewContext.HttpContext.Request.Path.ToString() : roboForm.FormActionUrl; var form = new FluentTagBuilder("form", TagRenderMode.StartTag) .MergeAttribute("action", formActionUrl) .MergeAttribute("id", formId) .MergeAttribute("method", roboForm.FormMethod.ToString().ToLowerInvariant()); if (roboForm.AjaxEnabled && roboForm.Layout == RoboFormLayout.Tab) { form = form.MergeAttribute("data-ajax-begin", formId.Replace("-", "_") + "_ValidateTabs"); } if (!roboForm.AjaxEnabled) { form = form.MergeAttribute("enctype", "multipart/form-data"); } else { form = form.MergeAttribute("data-ajax", "true"); } form = form.MergeAttribute("method", roboForm.FormMethod.ToString().ToLowerInvariant()); form = form.MergeAttributes(roboForm.HtmlAttributes); return(form.ToString()); }
protected virtual string BeginForm <TModel>(IHtmlHelper htmlHelper, RoboUIFormResult <TModel> roboForm, string formId) where TModel : class { var formActionUrl = string.IsNullOrEmpty(roboForm.FormActionUrl) ? htmlHelper.ViewContext.HttpContext.Request.Path.ToString() : roboForm.FormActionUrl; var form = new FluentTagBuilder("form", TagRenderMode.StartTag) .MergeAttribute("role", "form") .MergeAttribute("action", formActionUrl) .MergeAttribute("id", formId) .MergeAttribute("method", roboForm.FormMethod.ToString().ToLowerInvariant()); if (roboForm.IsHorizontal) { form.MergeAttribute("class", "form-horizontal"); } var formIdAsName = formId.Replace("-", "_"); if (roboForm.AjaxEnabled && roboForm.Layout == RoboFormLayout.Tab) { form.MergeAttribute("data-ajax-begin", formIdAsName + "_ValidateTabs"); } if (roboForm.AjaxEnabled) { form.MergeAttribute("data-ajax", "true"); form.MergeAttribute("data-ajax-failure", formIdAsName + "_OnFailure"); var scriptRegister = roboForm.ControllerContext.HttpContext.RequestServices.GetService <IScriptRegister>(); scriptRegister.AddInlineScript(string.Format("function {0}_OnFailure(xhr, status, error){{ var ct = xhr.getResponseHeader('content-type') || ''; if(ct.indexOf('application/x-javascript') == -1) {{ alert(xhr.responseText); }} }}", formIdAsName)); } else { form.MergeAttribute("enctype", "multipart/form-data"); } form.MergeAttribute("method", roboForm.FormMethod.ToString().ToLowerInvariant()); form.MergeAttributes(roboForm.HtmlAttributes); return(form.ToString()); }
public virtual void RenderControl <TModel>(HtmlTextWriter writer, IHtmlHelper htmlHelper, RoboUIFormResult <TModel> roboForm, RoboControlAttribute roboAttribute) where TModel : class { if (roboAttribute is RoboTextAttribute) { RenderTextAttribute(writer, htmlHelper, roboForm, roboAttribute as RoboTextAttribute); } else if (roboAttribute is RoboNumericAttribute) { RenderNumericAttribute(writer, htmlHelper, roboForm, roboAttribute as RoboNumericAttribute); } else if (roboAttribute is RoboChoiceAttribute) { RenderChoiceAttribute(writer, htmlHelper, roboForm, roboAttribute as RoboChoiceAttribute); } else if (roboAttribute is RoboHiddenAttribute) { RenderHiddenFieldAttribute(writer, htmlHelper, roboForm, roboAttribute as RoboHiddenAttribute); } else if (roboAttribute is RoboButtonAttribute) { RenderButtonAttribute(writer, htmlHelper, roboForm, roboAttribute as RoboButtonAttribute); } else if (roboAttribute is RoboCascadingCheckBoxListAttribute) { RenderCascadingCheckBoxListAttribute(writer, htmlHelper, roboForm, roboAttribute as RoboCascadingCheckBoxListAttribute); } else if (roboAttribute is RoboCascadingDropDownAttribute) { RenderCascadingDropDownAttribute(writer, htmlHelper, roboForm, roboAttribute as RoboCascadingDropDownAttribute); } else if (roboAttribute is RoboComplexAttribute) { RenderComplexAttribute(writer, htmlHelper, roboForm, roboAttribute as RoboComplexAttribute); } else if (roboAttribute is RoboDatePickerAttribute) { RenderDatePickerAttribute(writer, htmlHelper, roboForm, roboAttribute as RoboDatePickerAttribute); } else if (roboAttribute is RoboTimePickerAttribute) { RenderTimePickerAttribute(writer, htmlHelper, roboForm, roboAttribute as RoboTimePickerAttribute); } else if (roboAttribute is RoboDivAttribute) { RenderDivAttribute(writer, htmlHelper, roboForm, roboAttribute as RoboDivAttribute); } else if (roboAttribute is RoboEditableGridAttribute) { RenderEditableGridAttribute(writer, htmlHelper, roboForm, roboAttribute as RoboEditableGridAttribute); } else if (roboAttribute is RoboGridAttribute) { RenderGridAttribute(writer, htmlHelper, roboForm, roboAttribute as RoboGridAttribute); } else if (roboAttribute is RoboHtmlViewAttribute) { RenderHtmlViewAttribute(writer, htmlHelper, roboForm, roboAttribute as RoboHtmlViewAttribute); } else if (roboAttribute is RoboImageAttribute) { RenderImageAttribute(writer, htmlHelper, roboForm, roboAttribute as RoboImageAttribute); } else if (roboAttribute is RoboLabelAttribute) { RenderLabelAttribute(writer, htmlHelper, roboForm, roboAttribute as RoboLabelAttribute); } else if (roboAttribute is RoboSlugAttribute) { RenderSlugAttribute(writer, htmlHelper, roboForm, roboAttribute as RoboSlugAttribute); } else { throw new ArgumentOutOfRangeException(); } }
public virtual void RenderTextAttribute <TModel>(HtmlTextWriter writer, IHtmlHelper htmlHelper, RoboUIFormResult <TModel> roboForm, RoboTextAttribute roboAttribute) where TModel : class { throw new NotSupportedException(); }
public virtual string RenderForm <TModel>(IHtmlHelper htmlHelper, RoboUIFormResult <TModel> roboForm) where TModel : class { throw new NotSupportedException(); }