Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / xsp / System / Web / Extensions / ui / ScriptRegistrationManager.cs / 1 / ScriptRegistrationManager.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI { using System; using System.Collections.Generic; using System.Collections.Specialized; using System.Diagnostics; using System.Globalization; using System.Text; using System.Text.RegularExpressions; using System.Web.UI; using System.Web.Resources; using System.Web.Script.Serialization; internal sealed class ScriptRegistrationManager { private static Regex ScriptTagRegex = new Regex( @"", indexOfEndOfScriptBeginTag, StringComparison.OrdinalIgnoreCase); if (indexOfScriptEndTag == -1) { throw new InvalidOperationException(String.Format(CultureInfo.InvariantCulture, AtlasWeb.ScriptRegistrationManager_NoCloseTag, activeRegistration.Type.FullName, activeRegistration.Key)); } string scriptBlockContents = scriptContent.Substring(indexOfEndOfScriptBeginTag, (indexOfScriptEndTag - indexOfEndOfScriptBeginTag)); // Turn the text content into a text attribute attrs.Add("text", scriptBlockContents); lastIndex = indexOfScriptEndTag + 9; } // Process all the explicit attributes on the script tag CaptureCollection attrnames = match.Groups["attrname"].Captures; CaptureCollection attrvalues = match.Groups["attrval"].Captures; for (int i = 0; i < attrnames.Count; i++) { string attribName = attrnames[i].ToString(); string attribValue = attrvalues[i].ToString(); // DevDev Bugs 123213: script elements registered with RegisterStartupScript are normally rendered // into the html of the page. Any html encoded values in the attributes are interpreted by the // browser, so the actual data is not html encoded. We must HtmlDecode any attribute values we find // here to remain consistent during async posts, since the data will be dynamically injected into // the dom, bypassing the browser's natural html decoding. attribValue = HttpUtility.HtmlDecode(attribValue); attrs.Add(attribName, attribValue); } // Serialize the attributes to JSON and write them out JavaScriptSerializer serializer = new JavaScriptSerializer(); string attrText = serializer.Serialize(attrs); PageRequestManager.EncodeString(writer, token, "ScriptContentWithTags", attrText); } CheckScriptTagTweenSpace(activeRegistration, scriptContent, lastIndex, scriptContent.Length - lastIndex); if (lastIndex == 0) { throw new InvalidOperationException(String.Format(CultureInfo.InvariantCulture, AtlasWeb.ScriptRegistrationManager_NoTags, activeRegistration.Type.FullName, activeRegistration.Key)); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI { using System; using System.Collections.Generic; using System.Collections.Specialized; using System.Diagnostics; using System.Globalization; using System.Text; using System.Text.RegularExpressions; using System.Web.UI; using System.Web.Resources; using System.Web.Script.Serialization; internal sealed class ScriptRegistrationManager { private static Regex ScriptTagRegex = new Regex( @"", indexOfEndOfScriptBeginTag, StringComparison.OrdinalIgnoreCase); if (indexOfScriptEndTag == -1) { throw new InvalidOperationException(String.Format(CultureInfo.InvariantCulture, AtlasWeb.ScriptRegistrationManager_NoCloseTag, activeRegistration.Type.FullName, activeRegistration.Key)); } string scriptBlockContents = scriptContent.Substring(indexOfEndOfScriptBeginTag, (indexOfScriptEndTag - indexOfEndOfScriptBeginTag)); // Turn the text content into a text attribute attrs.Add("text", scriptBlockContents); lastIndex = indexOfScriptEndTag + 9; } // Process all the explicit attributes on the script tag CaptureCollection attrnames = match.Groups["attrname"].Captures; CaptureCollection attrvalues = match.Groups["attrval"].Captures; for (int i = 0; i < attrnames.Count; i++) { string attribName = attrnames[i].ToString(); string attribValue = attrvalues[i].ToString(); // DevDev Bugs 123213: script elements registered with RegisterStartupScript are normally rendered // into the html of the page. Any html encoded values in the attributes are interpreted by the // browser, so the actual data is not html encoded. We must HtmlDecode any attribute values we find // here to remain consistent during async posts, since the data will be dynamically injected into // the dom, bypassing the browser's natural html decoding. attribValue = HttpUtility.HtmlDecode(attribValue); attrs.Add(attribName, attribValue); } // Serialize the attributes to JSON and write them out JavaScriptSerializer serializer = new JavaScriptSerializer(); string attrText = serializer.Serialize(attrs); PageRequestManager.EncodeString(writer, token, "ScriptContentWithTags", attrText); } CheckScriptTagTweenSpace(activeRegistration, scriptContent, lastIndex, scriptContent.Length - lastIndex); if (lastIndex == 0) { throw new InvalidOperationException(String.Format(CultureInfo.InvariantCulture, AtlasWeb.ScriptRegistrationManager_NoTags, activeRegistration.Type.FullName, activeRegistration.Key)); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HttpContext.cs
- SymmetricKey.cs
- RegexFCD.cs
- Task.cs
- StaticSiteMapProvider.cs
- MyContact.cs
- TableRowCollection.cs
- Rect3D.cs
- TemplatedWizardStep.cs
- ReaderContextStackData.cs
- PageThemeParser.cs
- QuaternionValueSerializer.cs
- ScalarOps.cs
- TriggerActionCollection.cs
- DrawingVisualDrawingContext.cs
- WarningException.cs
- Span.cs
- PropertyMap.cs
- SqlInfoMessageEvent.cs
- wgx_commands.cs
- WSSecurityJan2004.cs
- ReadOnlyCollection.cs
- DoubleKeyFrameCollection.cs
- XmlReflectionMember.cs
- CanonicalFontFamilyReference.cs
- shaperfactoryquerycacheentry.cs
- ComAwareEventInfo.cs
- DynamicEndpointElement.cs
- LineGeometry.cs
- Attributes.cs
- Win32SafeHandles.cs
- EntityTransaction.cs
- OpenTypeCommon.cs
- DataGridViewCellCancelEventArgs.cs
- HttpWriter.cs
- EnumerableWrapperWeakToStrong.cs
- NativeCppClassAttribute.cs
- DesignDataSource.cs
- VectorKeyFrameCollection.cs
- OdbcPermission.cs
- SqlSelectClauseBuilder.cs
- XmlSchemaNotation.cs
- OleDbConnectionInternal.cs
- ExpressionLexer.cs
- MetaColumn.cs
- CultureInfoConverter.cs
- Set.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- VariableAction.cs
- DayRenderEvent.cs
- NativeCppClassAttribute.cs
- WindowsFormsSynchronizationContext.cs
- TextHidden.cs
- MenuAdapter.cs
- DataFormat.cs
- ClrPerspective.cs
- DrawingAttributeSerializer.cs
- DescendantBaseQuery.cs
- Sql8ExpressionRewriter.cs
- BitmapVisualManager.cs
- DictionaryTraceRecord.cs
- DataGridDesigner.cs
- IdentityModelDictionary.cs
- PropertyRef.cs
- CacheAxisQuery.cs
- base64Transforms.cs
- ExpandedWrapper.cs
- ToolStrip.cs
- TrackingParameters.cs
- ExecutionContext.cs
- SkinBuilder.cs
- UnsupportedPolicyOptionsException.cs
- ScriptReferenceEventArgs.cs
- UriTemplate.cs
- DataRowChangeEvent.cs
- ResourcesGenerator.cs
- WindowPatternIdentifiers.cs
- PrintingPermissionAttribute.cs
- GridViewRow.cs
- ModelItemCollection.cs
- Page.cs
- SqlNotificationRequest.cs
- BitmapFrame.cs
- WCFServiceClientProxyGenerator.cs
- TraceContextEventArgs.cs
- ConfigurationSectionGroup.cs
- UIPropertyMetadata.cs
- SymbolPair.cs
- StylusPointDescription.cs
- ByteAnimation.cs
- BuildManagerHost.cs
- BoundConstants.cs
- CursorInteropHelper.cs
- HttpCookieCollection.cs
- TableAutomationPeer.cs
- XmlSchemaSimpleTypeList.cs
- Base64Encoder.cs
- PrintSchema.cs
- BlurBitmapEffect.cs
- UpdateDelegates.Generated.cs