New tests.
[mono.git] / mcs / class / System.Web.Mvc2 / System.Web.Mvc / Html / DisplayTextExtensions.cs
1 /* ****************************************************************************\r
2  *\r
3  * Copyright (c) Microsoft Corporation. All rights reserved.\r
4  *\r
5  * This software is subject to the Microsoft Public License (Ms-PL). \r
6  * A copy of the license can be found in the license.htm file included \r
7  * in this distribution.\r
8  *\r
9  * You must not remove this notice, or any other, from this software.\r
10  *\r
11  * ***************************************************************************/\r
12 \r
13 namespace System.Web.Mvc.Html {\r
14     using System;\r
15     using System.Linq.Expressions;\r
16 \r
17     public static class DisplayTextExtensions {\r
18         public static MvcHtmlString DisplayText(this HtmlHelper html, string name) {\r
19             return DisplayTextHelper(ModelMetadata.FromStringExpression(name, html.ViewContext.ViewData));\r
20         }\r
21 \r
22         [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures",\r
23             Justification = "This is an appropriate nesting of generic types")]\r
24         public static MvcHtmlString DisplayTextFor<TModel, TResult>(this HtmlHelper<TModel> html, Expression<Func<TModel, TResult>> expression) {\r
25             return DisplayTextHelper(ModelMetadata.FromLambdaExpression(expression, html.ViewData));\r
26         }\r
27 \r
28         private static MvcHtmlString DisplayTextHelper(ModelMetadata metadata) {\r
29             return MvcHtmlString.Create(metadata.SimpleDisplayText);\r
30         }\r
31     }\r
32 }\r