Assembly: System.Design (in system.design.dll)
The ResourceExpressionEditor class derives from the ExpressionEditor class and provides an implementation for evaluating and associating a resource reference with a control property at design time. For example, you can bind the value of a control property to the resource expression Resources:submitText, which indicates that the control property value is set using the resource named submitText.
A visual designer host, such as Visual Studio 2005, uses the ResourceExpressionEditor class to specify a resource class, key, and designer default value for a resource expression, and then evaluate the selected resource expression for design-time rendering.
When you browse the Expressions property for a control in the design-time properties grid, the visual designer displays a dialog box to set expressions that provide the run-time value for a control property. You can select the expression type based on a list of expression prefixes. When you select the Resources expression prefix in the list, the visual designer uses the ResourceExpressionEditor methods to set, evaluate, and convert the expression based on the resource expression syntax. The visual designer uses the evaluated expression result to assign control property values that are rendered on the design surface.
The base System.Web.Configuration.ExpressionBuilder.ExpressionPrefix property for a ResourceExpressionBuilder returns the string Resources. The ResourceExpressionBuilder class is associated with the expression prefix Resources and the ResourceExpressionEditor implementation.
The EvaluateExpression method evaluates an input resource expression. The GetExpressionEditorSheet method returns the ExpressionEditorSheet implementation that is used to select the resource name, class, and designer default value, and to form a resource expression from the selected resource values.
In a Web Forms project, add a new resource file named Strings.resx to the App_LocalResources directory.
Add a string named myLinkText to the Strings.resx resource file, and then set the value to the text for a HyperLink control.
For example, set the myLinkText string value to This is a good link.
In a Web Forms page, add a HyperLink control.
For the Hyperlink control, in Properties, click Expressions, and then click the ellipsis button (...).
The <Hyperlinkname>Expressions dialog box appears.
Under Bindable properties, click Text, and then in the Expression type list, enter Resources.
The resource expression properties that are defined by the ResourceExpressionEditorSheet class appear.
Under Expression Properties set ClassName to Strings, which is the class name for the compiled Strings.resx resource file and set ResourceKey to myLinkText, which is the string name in Strings.resx.
The visual designer uses the ResourceExpressionEditor to assign the resource expression for the Text property. The following .aspx source shows an example of a property value that is set by using a resource expression.
<!-- Define a hyperlink that maps the Text property to the myLinkText string value in the Strings.resx resource file. --> <asp:HyperLink runat="server" ID="HyperLink2" Text="<%$ Resources:Strings, myLinkText %>" NavigateUrl="http://www.microsoft.com"></asp:HyperLink>