-
Notifications
You must be signed in to change notification settings - Fork 1.5k
/
RouteValueExpressionBuilder.xml
233 lines (218 loc) · 17.9 KB
/
RouteValueExpressionBuilder.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
<Type Name="RouteValueExpressionBuilder" FullName="System.Web.Compilation.RouteValueExpressionBuilder">
<TypeSignature Language="C#" Value="public class RouteValueExpressionBuilder : System.Web.Compilation.ExpressionBuilder" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit RouteValueExpressionBuilder extends System.Web.Compilation.ExpressionBuilder" />
<TypeSignature Language="DocId" Value="T:System.Web.Compilation.RouteValueExpressionBuilder" />
<TypeSignature Language="VB.NET" Value="Public Class RouteValueExpressionBuilder
Inherits ExpressionBuilder" />
<TypeSignature Language="F#" Value="type RouteValueExpressionBuilder = class
 inherit ExpressionBuilder" />
<TypeSignature Language="C++ CLI" Value="public ref class RouteValueExpressionBuilder : System::Web::Compilation::ExpressionBuilder" />
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Web.Compilation.ExpressionBuilder</BaseTypeName>
</Base>
<Interfaces />
<Attributes>
<Attribute>
<AttributeName Language="C#">[System.Web.Compilation.ExpressionEditor("System.Web.UI.Design.RouteValueExpressionEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]</AttributeName>
<AttributeName Language="F#">[<System.Web.Compilation.ExpressionEditor("System.Web.UI.Design.RouteValueExpressionEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]</AttributeName>
</Attribute>
<Attribute>
<AttributeName Language="C#">[System.Web.Compilation.ExpressionPrefix("Routes")]</AttributeName>
<AttributeName Language="F#">[<System.Web.Compilation.ExpressionPrefix("Routes")>]</AttributeName>
</Attribute>
</Attributes>
<Docs>
<summary>Retrieves the value that corresponds to a specified URL parameter in a routed page.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Web.Compilation.RouteValueExpressionBuilder> class makes it possible to use markup to set the property of a server control to the value of one of the URL parameters in a routed page.
## Examples
The following example shows how to use markup to display the value of the URL parameter `searchterm`. The route is defined by using `http://www.contoso.com/search/{searchterm}` as the URL pattern.
```
<asp:Label ID="Label1" runat="server"
text="<%$ RouteValue:searchterm %>">
</asp:Label>
```
If the page is requested with the URL `http://www.contoso.com/search/Bicycles`, the <xref:System.Web.UI.WebControls.Label> control displays "Bicycles".
]]></format>
</remarks>
<related type="Article" href="https://learn.microsoft.com/previous-versions/aspnet/cc668201(v=vs.100)">ASP.NET Routing</related>
<related type="Article" href="https://learn.microsoft.com/previous-versions/dd535620(v=vs.140)">How to: Access URL Parameters in a Routed Page</related>
<related type="Article" href="https://learn.microsoft.com/previous-versions/aspnet/d5bd1tad(v=vs.100)">ASP.NET Expressions Overview</related>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public RouteValueExpressionBuilder ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.Compilation.RouteValueExpressionBuilder.#ctor" />
<MemberSignature Language="VB.NET" Value="Public Sub New ()" />
<MemberSignature Language="C++ CLI" Value="public:
 RouteValueExpressionBuilder();" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
</Attributes>
<Parameters />
<Docs>
<summary>Initializes a new instance of the <see cref="T:System.Web.Compilation.RouteValueExpressionBuilder" /> class.</summary>
<remarks>To be added.</remarks>
<related type="Article" href="https://learn.microsoft.com/previous-versions/dd535620(v=vs.140)">How to: Access URL Parameters in a Routed Page</related>
<related type="Article" href="https://learn.microsoft.com/previous-versions/aspnet/cc668201(v=vs.100)">ASP.NET Routing</related>
<related type="Article" href="https://learn.microsoft.com/previous-versions/aspnet/d5bd1tad(v=vs.100)">ASP.NET Expressions Overview</related>
</Docs>
</Member>
<Member MemberName="EvaluateExpression">
<MemberSignature Language="C#" Value="public override object EvaluateExpression (object target, System.Web.UI.BoundPropertyEntry entry, object parsedData, System.Web.Compilation.ExpressionBuilderContext context);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance object EvaluateExpression(object target, class System.Web.UI.BoundPropertyEntry entry, object parsedData, class System.Web.Compilation.ExpressionBuilderContext context) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.Compilation.RouteValueExpressionBuilder.EvaluateExpression(System.Object,System.Web.UI.BoundPropertyEntry,System.Object,System.Web.Compilation.ExpressionBuilderContext)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function EvaluateExpression (target As Object, entry As BoundPropertyEntry, parsedData As Object, context As ExpressionBuilderContext) As Object" />
<MemberSignature Language="F#" Value="override this.EvaluateExpression : obj * System.Web.UI.BoundPropertyEntry * obj * System.Web.Compilation.ExpressionBuilderContext -> obj" Usage="routeValueExpressionBuilder.EvaluateExpression (target, entry, parsedData, context)" />
<MemberSignature Language="C++ CLI" Value="public:
 override System::Object ^ EvaluateExpression(System::Object ^ target, System::Web::UI::BoundPropertyEntry ^ entry, System::Object ^ parsedData, System::Web::Compilation::ExpressionBuilderContext ^ context);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Object</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="target" Type="System.Object" />
<Parameter Name="entry" Type="System.Web.UI.BoundPropertyEntry" />
<Parameter Name="parsedData" Type="System.Object" />
<Parameter Name="context" Type="System.Web.Compilation.ExpressionBuilderContext" />
</Parameters>
<Docs>
<param name="target">The control that the expression is bound to.</param>
<param name="entry">The property that the expression is bound to.</param>
<param name="parsedData">(This parameter is not used in this implementation.)</param>
<param name="context">Properties for the control or page.</param>
<summary>Retrieves the value that corresponds to a specified route key.</summary>
<returns>The value that corresponds to the URL parameter that is specified for the current page. The method returns <see langword="null" /> if <paramref name="target" /> is <see langword="null" /> or if it does not derive from <see cref="T:System.Web.UI.Control" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
ASP.NET calls this method when an expression of the form `<%$ RouteValue:urlparameter %>` is encountered in a no-compile page. This method overrides the <xref:System.Web.Compilation.ExpressionBuilder.EvaluateExpression%2A> method by calling the <xref:System.Web.Compilation.RouteValueExpressionBuilder.GetRouteValue%2A> method. It gets the <xref:System.Web.UI.Page> object from the `context` parameter, and it gets the expression, the control type, and the property name from the `entry` parameter.
]]></format>
</remarks>
<related type="Article" href="https://learn.microsoft.com/previous-versions/aspnet/cc668201(v=vs.100)">ASP.NET Routing</related>
<related type="Article" href="https://learn.microsoft.com/previous-versions/dd535620(v=vs.140)">How to: Access URL Parameters in a Routed Page</related>
<related type="Article" href="https://learn.microsoft.com/previous-versions/aspnet/d5bd1tad(v=vs.100)">ASP.NET Expressions Overview</related>
</Docs>
</Member>
<Member MemberName="GetCodeExpression">
<MemberSignature Language="C#" Value="public override System.CodeDom.CodeExpression GetCodeExpression (System.Web.UI.BoundPropertyEntry entry, object parsedData, System.Web.Compilation.ExpressionBuilderContext context);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.CodeDom.CodeExpression GetCodeExpression(class System.Web.UI.BoundPropertyEntry entry, object parsedData, class System.Web.Compilation.ExpressionBuilderContext context) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.Compilation.RouteValueExpressionBuilder.GetCodeExpression(System.Web.UI.BoundPropertyEntry,System.Object,System.Web.Compilation.ExpressionBuilderContext)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function GetCodeExpression (entry As BoundPropertyEntry, parsedData As Object, context As ExpressionBuilderContext) As CodeExpression" />
<MemberSignature Language="F#" Value="override this.GetCodeExpression : System.Web.UI.BoundPropertyEntry * obj * System.Web.Compilation.ExpressionBuilderContext -> System.CodeDom.CodeExpression" Usage="routeValueExpressionBuilder.GetCodeExpression (entry, parsedData, context)" />
<MemberSignature Language="C++ CLI" Value="public:
 override System::CodeDom::CodeExpression ^ GetCodeExpression(System::Web::UI::BoundPropertyEntry ^ entry, System::Object ^ parsedData, System::Web::Compilation::ExpressionBuilderContext ^ context);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.CodeDom.CodeExpression</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="entry" Type="System.Web.UI.BoundPropertyEntry" />
<Parameter Name="parsedData" Type="System.Object" />
<Parameter Name="context" Type="System.Web.Compilation.ExpressionBuilderContext" />
</Parameters>
<Docs>
<param name="entry">The property that the expression is bound to.</param>
<param name="parsedData">The object that represents 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">Properties for the control or page.</param>
<summary>Returns a code expression that is used to perform the property assignment in the generated page class.</summary>
<returns>An expression.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method is called when the CodeDOM is created for a page or control. The <xref:System.CodeDom.CodeExpression> object that is returned represents the code expression to add to the property assignment in the generated page class.
]]></format>
</remarks>
<related type="Article" href="https://learn.microsoft.com/previous-versions/aspnet/cc668201(v=vs.100)">ASP.NET Routing</related>
<related type="Article" href="https://learn.microsoft.com/previous-versions/dd535620(v=vs.140)">How to: Access URL Parameters in a Routed Page</related>
<related type="Article" href="https://learn.microsoft.com/previous-versions/aspnet/d5bd1tad(v=vs.100)">ASP.NET Expressions Overview</related>
</Docs>
</Member>
<Member MemberName="GetRouteValue">
<MemberSignature Language="C#" Value="public static object GetRouteValue (System.Web.UI.Page page, string key, Type controlType, string propertyName);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig object GetRouteValue(class System.Web.UI.Page page, string key, class System.Type controlType, string propertyName) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.Compilation.RouteValueExpressionBuilder.GetRouteValue(System.Web.UI.Page,System.String,System.Type,System.String)" />
<MemberSignature Language="VB.NET" Value="Public Shared Function GetRouteValue (page As Page, key As String, controlType As Type, propertyName As String) As Object" />
<MemberSignature Language="F#" Value="static member GetRouteValue : System.Web.UI.Page * string * Type * string -> obj" Usage="System.Web.Compilation.RouteValueExpressionBuilder.GetRouteValue (page, key, controlType, propertyName)" />
<MemberSignature Language="C++ CLI" Value="public:
 static System::Object ^ GetRouteValue(System::Web::UI::Page ^ page, System::String ^ key, Type ^ controlType, System::String ^ propertyName);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Object</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="page" Type="System.Web.UI.Page" />
<Parameter Name="key" Type="System.String" />
<Parameter Name="controlType" Type="System.Type" />
<Parameter Name="propertyName" Type="System.String" />
</Parameters>
<Docs>
<param name="page">The current page.</param>
<param name="key">The URL parameter.</param>
<param name="controlType">The type of the control that the expression is bound to.</param>
<param name="propertyName">The name of the property that is being set by the expression.</param>
<summary>Retrieves the value that corresponds to the specified URL parameter.</summary>
<returns>The value that corresponds to the specified URL parameter for the current page. If <paramref name="page" /> is <see langword="null" />, if the <see cref="P:System.Web.UI.Page.RouteData" /> property of <paramref name="page" /> is <see langword="null" />, or if <paramref name="key" /> is empty or <see langword="null" />, the method returns <see langword="null" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method retrieves the appropriate value for the specified `key` value by using the <xref:System.Web.UI.Page.RouteData%2A> property of `page`. It then uses the `controlType` and `propertyName` values to find the appropriate type converter in order to convert the retrieved value into the correct type.
]]></format>
</remarks>
<related type="Article" href="https://learn.microsoft.com/previous-versions/aspnet/cc668201(v=vs.100)">ASP.NET Routing</related>
<related type="Article" href="https://learn.microsoft.com/previous-versions/dd535620(v=vs.140)">How to: Access URL Parameters in a Routed Page</related>
<related type="Article" href="https://learn.microsoft.com/previous-versions/aspnet/d5bd1tad(v=vs.100)">ASP.NET Expressions Overview</related>
</Docs>
</Member>
<Member MemberName="SupportsEvaluate">
<MemberSignature Language="C#" Value="public override bool SupportsEvaluate { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool SupportsEvaluate" />
<MemberSignature Language="DocId" Value="P:System.Web.Compilation.RouteValueExpressionBuilder.SupportsEvaluate" />
<MemberSignature Language="VB.NET" Value="Public Overrides ReadOnly Property SupportsEvaluate As Boolean" />
<MemberSignature Language="F#" Value="member this.SupportsEvaluate : bool" Usage="System.Web.Compilation.RouteValueExpressionBuilder.SupportsEvaluate" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual property bool SupportsEvaluate { bool get(); };" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a value that indicates whether an expression can be evaluated in a page that is not compiled.</summary>
<value>Always <see langword="true" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Web.Compilation.RouteValueExpressionBuilder.SupportsEvaluate%2A> property indicates whether the <xref:System.Web.Compilation.RouteValueExpressionBuilder.EvaluateExpression%2A> method has been implemented in the class in order to return a value for the expression in a page that is not compiled. The <xref:System.Web.Compilation.RouteValueExpressionBuilder> class can evaluate an expression in a page that is not compiled. Therefore, it always returns `true`.
]]></format>
</remarks>
<related type="Article" href="https://learn.microsoft.com/previous-versions/aspnet/cc668201(v=vs.100)">ASP.NET Routing</related>
<related type="Article" href="https://learn.microsoft.com/previous-versions/dd535620(v=vs.140)">How to: Access URL Parameters in a Routed Page</related>
<related type="Article" href="https://learn.microsoft.com/previous-versions/aspnet/d5bd1tad(v=vs.100)">ASP.NET Expressions Overview</related>
</Docs>
</Member>
</Members>
</Type>