Browse Source

Removed default select helper in form tag

pull/272/head
yekalkan 9 years ago
parent
commit
5c629d6cd8
  1. 16
      src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpDynamicformTagHelperService.cs
  2. 21
      test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Forms.cshtml.cs

16
src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpDynamicformTagHelperService.cs

@ -2,6 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text.Encodings.Web; using System.Text.Encodings.Web;
using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.AspNetCore.Mvc.ViewFeatures; using Microsoft.AspNetCore.Mvc.ViewFeatures;
using Microsoft.AspNetCore.Razor.TagHelpers; using Microsoft.AspNetCore.Razor.TagHelpers;
@ -11,20 +12,19 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form
{ {
private readonly HtmlEncoder _htmlEncoder; private readonly HtmlEncoder _htmlEncoder;
private readonly AbpInputTagHelper _abpInputTagHelper; private readonly AbpInputTagHelper _abpInputTagHelper;
private readonly AbpSelectTagHelper _abpSelectTagHelper; private const string SelectItemsPostFix = "selectitems";
public AbpDynamicFormTagHelperService(HtmlEncoder htmlEncoder, AbpInputTagHelper abpInputTagHelper, AbpSelectTagHelper abpSelectTagHelper) public AbpDynamicFormTagHelperService(HtmlEncoder htmlEncoder, AbpInputTagHelper abpInputTagHelper)
{ {
_htmlEncoder = htmlEncoder; _htmlEncoder = htmlEncoder;
_abpInputTagHelper = abpInputTagHelper; _abpInputTagHelper = abpInputTagHelper;
_abpSelectTagHelper = abpSelectTagHelper;
} }
public override void Process(TagHelperContext context, TagHelperOutput output) public override void Process(TagHelperContext context, TagHelperOutput output)
{ {
output.TagName = "form"; output.TagName = "form";
output.Attributes.Add("method","post"); output.Attributes.Add("method", "post");
output.Attributes.Add("action","#"); output.Attributes.Add("action", "#");
var innerhtml = GetInnerHtmlContent(); var innerhtml = GetInnerHtmlContent();
@ -38,19 +38,19 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form
foreach (var model in models) foreach (var model in models)
{ {
innerHtmlcontent += ProcessField(model); innerHtmlcontent += ProcessInputGroup(model);
} }
return innerHtmlcontent; return innerHtmlcontent;
} }
protected virtual string ProcessField(ModelExpression model) protected virtual string ProcessInputGroup(ModelExpression model)
{ {
_abpInputTagHelper.AspFor = model; _abpInputTagHelper.AspFor = model;
_abpInputTagHelper.Label = ""; _abpInputTagHelper.Label = "";
_abpInputTagHelper.ViewContext = TagHelper.ViewContext; _abpInputTagHelper.ViewContext = TagHelper.ViewContext;
return RenderTagHelper(new TagHelperAttributeList(), _abpInputTagHelper,_htmlEncoder,"div",TagMode.StartTagAndEndTag) return RenderTagHelper(new TagHelperAttributeList(), _abpInputTagHelper, _htmlEncoder, "div", TagMode.StartTagAndEndTag)
+ Environment.NewLine; + Environment.NewLine;
} }

21
test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Forms.cshtml.cs

@ -71,10 +71,16 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Pages.Components
public class Person public class Person
{ {
[Required]
[DisplayName("Name")]
public string Name { get; set; } public string Name { get; set; }
[Required]
[DisplayName("Age")]
public int Age { get; set; } public int Age { get; set; }
[Required]
[DisplayName("City")]
public Cities City { get; set; } public Cities City { get; set; }
public Phone Phone { get; set; } public Phone Phone { get; set; }
@ -85,11 +91,26 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Pages.Components
[DisplayName("Is Active")] [DisplayName("Is Active")]
public bool IsActive { get; set; } public bool IsActive { get; set; }
[DisplayName("Country")]
public string Country { get; set; }
public List<SelectListItem> CountrySelectItems { get; } = new List<SelectListItem>
{
new SelectListItem { Value = "MX", Text = "Mexico" },
new SelectListItem { Value = "CA", Text = "Canada" },
new SelectListItem { Value = "US", Text = "USA" },
};
} }
public class Phone public class Phone
{ {
[Required]
[DisplayName("Number")]
public string Number { get; set; } public string Number { get; set; }
[Required]
[DisplayName("Name")]
public string Name { get; set; } public string Name { get; set; }
} }
} }
Loading…
Cancel
Save