/BlogEngine/DotNetSlave.BusinessLogic/Compilation/CodeExpressionBuilder.cs
C# | 55 lines | 18 code | 4 blank | 33 comment | 0 complexity | a8c778b182e675fbbd148aecbcfcb660 MD5 | raw file
Possible License(s): LGPL-2.1, Apache-2.0, BSD-3-Clause
- // --------------------------------------------------------------------------------------------------------------------
- // <summary>
- // Code Expression Builder
- // </summary>
- // --------------------------------------------------------------------------------------------------------------------
-
- namespace BlogEngine.Core.Compilation
- {
- using System.CodeDom;
- using System.Web.Compilation;
- using System.Web.UI;
-
- /// <summary>
- /// Code Expression Builder
- /// </summary>
- /// <example>
- /// page.aspx:
- /// <asp:CheckBox id="chk1" runat="server" Text='<%$ code: DateTime.Now %>' />
- /// web.config:
- /// <compilation debug="true">
- /// <expressionBuilders>
- /// <add expressionPrefix="code" type="WebApp.Compilation.CodeExpressionBuilder, WebApp" />
- /// </expressionBuilders>
- /// </compilation>
- /// </example>
- [ExpressionPrefix("Code")]
- [ExpressionEditor("BlogEngine.Core.Compilation.Design.CodeExpressionEditor, BlogEngine.Core")]
- public class CodeExpressionBuilder : ExpressionBuilder
- {
- #region Public Methods
-
- /// <summary>
- /// When overridden in a derived class, returns code that is used during page execution to obtain the evaluated expression.
- /// </summary>
- /// <param name="entry">
- /// The object that represents information about the property bound to by the expression.
- /// </param>
- /// <param name="parsedData">
- /// The object containing parsed data as returned by <see cref="M:System.Web.Compilation.ExpressionBuilder.ParseExpression(System.String,System.Type,System.Web.Compilation.ExpressionBuilderContext)"/>.
- /// </param>
- /// <param name="context">
- /// Contextual information for the evaluation of the expression.
- /// </param>
- /// <returns>
- /// A <see cref="T:System.CodeDom.CodeExpression"/> that is used for property assignment.
- /// </returns>
- public override CodeExpression GetCodeExpression(
- BoundPropertyEntry entry, object parsedData, ExpressionBuilderContext context)
- {
- return new CodeSnippetExpression(entry.Expression.Trim());
- }
-
- #endregion
- }
- }