Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / WebControls / Substitution.cs / 1 / Substitution.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System; using System.ComponentModel; using System.Globalization; using System.Security.Permissions; using System.Web; using System.Web.UI; ////// [ DefaultProperty("MethodName"), Designer("System.Web.UI.Design.WebControls.SubstitutionDesigner, " + AssemblyRef.SystemDesign), ParseChildren(true), PersistChildren(false), ] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public class Substitution : Control { ////// /// public Substitution() { } ////// /// [ DefaultValue(""), WebCategory("Behavior"), WebSysDescription(SR.Substitution_MethodNameDescr) ] public virtual string MethodName { get { string s = ViewState["MethodName"] as string; return s == null? String.Empty : s; } set { ViewState["MethodName"] = value; } } protected override ControlCollection CreateControlCollection() { return new EmptyControlCollection(this); } // SECURITY CODE // VSWhidbey 253188: Permission assert to support page running below full trust [ReflectionPermission(SecurityAction.Assert, Flags=ReflectionPermissionFlag.MemberAccess)] private HttpResponseSubstitutionCallback GetDelegate(Type targetType, string methodName) { return (HttpResponseSubstitutionCallback)Delegate.CreateDelegate( typeof(HttpResponseSubstitutionCallback), targetType, methodName); } protected internal override void OnPreRender(EventArgs e) { base.OnPreRender(e); // VSWhidbey 84748: Temp fix, throw if we are within a cached control Control parent = Parent; while (parent != null) { if (parent is BasePartialCachingControl) { throw new HttpException( SR.GetString(SR.Substitution_CannotBeInCachedControl)); } parent = parent.Parent; } } protected internal override void Render(HtmlTextWriter writer) { RenderMarkup(writer); } internal void RenderMarkup(HtmlTextWriter writer) { if (MethodName.Length == 0) { return; } TemplateControl target = TemplateControl; if (target == null) { return; } // get the delegate to the method HttpResponseSubstitutionCallback callback = null; try { callback = GetDelegate(target.GetType(), MethodName); } catch { } if (callback == null) { throw new HttpException( SR.GetString(SR.Substitution_BadMethodName, MethodName)); } // add the substitution to the response Page.Response.WriteSubstitution(callback); } } }///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UserPreferenceChangedEventArgs.cs
- KeyTimeConverter.cs
- ServicePoint.cs
- Action.cs
- Matrix.cs
- BooleanAnimationBase.cs
- RightsManagementPermission.cs
- Sql8ExpressionRewriter.cs
- Decoder.cs
- ComplexBindingPropertiesAttribute.cs
- LostFocusEventManager.cs
- CompleteWizardStep.cs
- Asn1IntegerConverter.cs
- DataGridCaption.cs
- ProgressBarHighlightConverter.cs
- VisualSerializer.cs
- MethodImplAttribute.cs
- QilStrConcatenator.cs
- ConnectivityStatus.cs
- ExtensionSurface.cs
- FieldBuilder.cs
- PersonalizationStateInfo.cs
- TemplateNameScope.cs
- Rect.cs
- Int32CAMarshaler.cs
- RichTextBoxAutomationPeer.cs
- EncodingInfo.cs
- SqlDataSourceStatusEventArgs.cs
- MatcherBuilder.cs
- SoapReflector.cs
- BamlResourceSerializer.cs
- SortFieldComparer.cs
- Boolean.cs
- Pkcs7Recipient.cs
- SoundPlayerAction.cs
- TriggerCollection.cs
- StyleSheetComponentEditor.cs
- StaticFileHandler.cs
- RootBrowserWindowAutomationPeer.cs
- SqlCommandSet.cs
- FormatConvertedBitmap.cs
- StateDesigner.cs
- SrgsElement.cs
- TriggerActionCollection.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- RuntimeResourceSet.cs
- TextEffectResolver.cs
- ConnectionManagementSection.cs
- CursorInteropHelper.cs
- BindToObject.cs
- IriParsingElement.cs
- SimpleHandlerFactory.cs
- ExplicitDiscriminatorMap.cs
- RenderData.cs
- SqlUdtInfo.cs
- Transform.cs
- String.cs
- BasicCommandTreeVisitor.cs
- PreservationFileReader.cs
- JsonXmlDataContract.cs
- SqlTypesSchemaImporter.cs
- UITypeEditor.cs
- TypeDelegator.cs
- GraphicsContext.cs
- CaseCqlBlock.cs
- TreeNode.cs
- DataServiceEntityAttribute.cs
- DataGridViewTextBoxCell.cs
- DefaultTextStore.cs
- Hyperlink.cs
- Confirm.cs
- Variant.cs
- XmlChildEnumerator.cs
- X509Certificate2Collection.cs
- BamlLocalizableResource.cs
- ZipArchive.cs
- DBDataPermission.cs
- DataTemplate.cs
- ModelPropertyDescriptor.cs
- EventMappingSettingsCollection.cs
- HyperLinkColumn.cs
- DataColumnMapping.cs
- MailAddressParser.cs
- PropertyChangedEventManager.cs
- LogRestartAreaEnumerator.cs
- SqlWebEventProvider.cs
- InkCanvasInnerCanvas.cs
- RoleService.cs
- _FixedSizeReader.cs
- ProcessManager.cs
- XmlIgnoreAttribute.cs
- ServiceHostingEnvironmentSection.cs
- PersonalizationEntry.cs
- PageAction.cs
- XPathAncestorQuery.cs
- DrawingGroup.cs
- Size3DValueSerializer.cs
- TextDecorationLocationValidation.cs
- NotifyCollectionChangedEventArgs.cs
- ImageSourceValueSerializer.cs