Implemented asp-format support in input[type=hidden] tag helper.

This commit is contained in:
muhammed baykal 2016-07-30 03:27:54 +10:00 committed by Doug Bunting
parent f7ee16170c
commit 4bda1cbe6d
1 changed files with 27 additions and 10 deletions

View File

@ -189,20 +189,14 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
TagBuilder tagBuilder;
switch (inputType)
{
case "hidden":
tagBuilder = GenerateHidden(modelExplorer);
break;
case "checkbox":
GenerateCheckBox(modelExplorer, output);
return;
case "hidden":
tagBuilder = Generator.GenerateHidden(
ViewContext,
modelExplorer,
For.Name,
value: For.Model,
useViewData: false,
htmlAttributes: null);
break;
case "password":
tagBuilder = Generator.GeneratePassword(
ViewContext,
@ -364,6 +358,29 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
htmlAttributes: htmlAttributes);
}
private TagBuilder GenerateHidden(ModelExplorer modelExplorer)
{
var value = For.Model;
var byteArrayValue = value as byte[];
if (byteArrayValue != null)
{
value = Convert.ToBase64String(byteArrayValue);
}
var htmlAttributes = new Dictionary<string, object>
{
{ "type", "hidden" }
};
return Generator.GenerateTextBox(
ViewContext,
modelExplorer,
For.Name,
value: value,
format: Format,
htmlAttributes: htmlAttributes);
}
// Get a fall-back format based on the metadata.
private string GetFormat(ModelExplorer modelExplorer, string inputTypeHint, string inputType)
{