diff --git a/samples/MvcSample.Web/HomeController.cs b/samples/MvcSample.Web/HomeController.cs index ef1d3bcaec..8c3cbfa0ef 100644 --- a/samples/MvcSample.Web/HomeController.cs +++ b/samples/MvcSample.Web/HomeController.cs @@ -75,7 +75,16 @@ namespace MvcSample.Web User user = new User() { Name = "My name", - Address = "My address" + Address = "My address", + Alive = true, + Age = 13, + GPA = 13.37M, + Dependent = new User() + { + Name = "Dependents name", + Address = "Dependents address", + Alive = false, + }, }; return user; diff --git a/samples/MvcSample.Web/Models/User.cs b/samples/MvcSample.Web/Models/User.cs index 9869e92d13..825de781e9 100644 --- a/samples/MvcSample.Web/Models/User.cs +++ b/samples/MvcSample.Web/Models/User.cs @@ -9,5 +9,8 @@ namespace MvcSample.Web.Models public string Name { get; set; } public string Address { get; set; } public int Age { get; set; } + public decimal GPA { get; set; } + public User Dependent { get; set; } + public bool Alive { get; set; } } } \ No newline at end of file diff --git a/samples/MvcSample.Web/Views/Shared/DisplayTemplates/Boolean.cshtml b/samples/MvcSample.Web/Views/Shared/DisplayTemplates/Boolean.cshtml new file mode 100644 index 0000000000..2d92a8feb2 --- /dev/null +++ b/samples/MvcSample.Web/Views/Shared/DisplayTemplates/Boolean.cshtml @@ -0,0 +1,20 @@ +@functions { + private bool? Value { + get { + if (ViewData.Model == null) { + return null; + } + return Convert.ToBoolean(ViewData.Model, System.Globalization.CultureInfo.InvariantCulture); + } + } +} + +@if (ViewData.ModelMetadata.IsNullableValueType) { + +} else { + +} \ No newline at end of file diff --git a/samples/MvcSample.Web/Views/Shared/DisplayTemplates/Decimal.cshtml b/samples/MvcSample.Web/Views/Shared/DisplayTemplates/Decimal.cshtml new file mode 100644 index 0000000000..adc4456610 --- /dev/null +++ b/samples/MvcSample.Web/Views/Shared/DisplayTemplates/Decimal.cshtml @@ -0,0 +1,11 @@ +@functions { + private object FormattedValue { + get { + if (ViewData.TemplateInfo.FormattedModelValue == ViewData.ModelMetadata.Model) { + return String.Format(System.Globalization.CultureInfo.CurrentCulture, "{0:0.00}", ViewData.ModelMetadata.Model); + } + return ViewData.TemplateInfo.FormattedModelValue; + } + } +} +@Html.Encode(FormattedValue) \ No newline at end of file diff --git a/samples/MvcSample.Web/Views/Shared/DisplayTemplates/Int32.cshtml b/samples/MvcSample.Web/Views/Shared/DisplayTemplates/Int32.cshtml new file mode 100644 index 0000000000..54ac8e0909 --- /dev/null +++ b/samples/MvcSample.Web/Views/Shared/DisplayTemplates/Int32.cshtml @@ -0,0 +1 @@ +@ViewData.TemplateInfo.FormattedModelValue \ No newline at end of file diff --git a/samples/MvcSample.Web/Views/Shared/DisplayTemplates/String.cshtml b/samples/MvcSample.Web/Views/Shared/DisplayTemplates/String.cshtml new file mode 100644 index 0000000000..ae2dc6dec1 --- /dev/null +++ b/samples/MvcSample.Web/Views/Shared/DisplayTemplates/String.cshtml @@ -0,0 +1 @@ +@Html.Encode(ViewData.TemplateInfo.FormattedModelValue) \ No newline at end of file diff --git a/samples/MvcSample.Web/Views/Shared/MyView.cshtml b/samples/MvcSample.Web/Views/Shared/MyView.cshtml index 655d8d89ab..30c5cecede 100644 --- a/samples/MvcSample.Web/Views/Shared/MyView.cshtml +++ b/samples/MvcSample.Web/Views/Shared/MyView.cshtml @@ -204,7 +204,60 @@ +
| + + | ++ '@Html.Display("Name")' + | +
| + + | ++ '@Html.Display("Dependent.Name")' + | +
| + + | ++ '@Html.Display("Alive")' + | +
| + + | ++ '@Html.Display("Dependent.Alive")' + | +
| + + | ++ '@Html.Display("Age")' + | +
| + + | ++ '@Html.Display("GPA")' + | +