Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Extensions / UI / ScriptRegistrationManager.cs / 1305376 / 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.Reflection; using System.Text; using System.Text.RegularExpressions; using System.Web.Handlers; using System.Web.Resources; using System.Web.Script.Serialization; using System.Web.UI; 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
- _IPv4Address.cs
- ObjectParameterCollection.cs
- Win32.cs
- PreloadedPackages.cs
- ConnectionPointGlyph.cs
- BackoffTimeoutHelper.cs
- GenericTextProperties.cs
- TableTextElementCollectionInternal.cs
- LambdaCompiler.ControlFlow.cs
- TypeDescriptionProvider.cs
- PrintDialog.cs
- ObjectContextServiceProvider.cs
- ValueType.cs
- TraceLog.cs
- CodeGenerator.cs
- SHA384.cs
- TouchPoint.cs
- StreamReader.cs
- ColumnTypeConverter.cs
- AnimationStorage.cs
- EventEntry.cs
- Header.cs
- StrongNameIdentityPermission.cs
- CompressEmulationStream.cs
- ItemDragEvent.cs
- DataGridAutoGeneratingColumnEventArgs.cs
- Brush.cs
- DataGridViewCellParsingEventArgs.cs
- DataContractJsonSerializerOperationBehavior.cs
- StreamWriter.cs
- PassportAuthenticationEventArgs.cs
- ClientSettingsProvider.cs
- AuthenticationModulesSection.cs
- HtmlPanelAdapter.cs
- InProcStateClientManager.cs
- Stopwatch.cs
- GAC.cs
- TextLineResult.cs
- CompilerScopeManager.cs
- DataGridViewColumnHeaderCell.cs
- GenericNameHandler.cs
- DataStorage.cs
- Bits.cs
- UnsafeCollabNativeMethods.cs
- JoinQueryOperator.cs
- TextBoxLine.cs
- MetadataItemCollectionFactory.cs
- SchemaMerger.cs
- ActivityDesignerLayoutSerializers.cs
- C14NUtil.cs
- ControlPropertyNameConverter.cs
- VirtualizingStackPanel.cs
- TakeOrSkipQueryOperator.cs
- SubpageParaClient.cs
- WindowsIPAddress.cs
- BufferedGraphicsContext.cs
- Symbol.cs
- UIElement.cs
- ArglessEventHandlerProxy.cs
- TemplateBindingExpressionConverter.cs
- DefaultMemberAttribute.cs
- ReadOnlyTernaryTree.cs
- CollectionViewGroupInternal.cs
- Blend.cs
- XmlQualifiedName.cs
- OleDbError.cs
- XPathNode.cs
- MultiView.cs
- SqlTrackingService.cs
- HttpValueCollection.cs
- DataGridRowAutomationPeer.cs
- PageThemeBuildProvider.cs
- InvalidEnumArgumentException.cs
- MediaPlayer.cs
- RecipientInfo.cs
- NullExtension.cs
- IntMinMaxAggregationOperator.cs
- CustomGrammar.cs
- JoinQueryOperator.cs
- EtwTrackingBehaviorElement.cs
- Filter.cs
- SimplePropertyEntry.cs
- HostSecurityManager.cs
- DebuggerAttributes.cs
- EventInfo.cs
- XMLDiffLoader.cs
- XmlSchemaSimpleContentRestriction.cs
- XmlArrayItemAttribute.cs
- WindowsFont.cs
- HybridWebProxyFinder.cs
- AnnotationAuthorChangedEventArgs.cs
- StaticResourceExtension.cs
- EndOfStreamException.cs
- Transaction.cs
- Ppl.cs
- TreeChangeInfo.cs
- DefaultTextStoreTextComposition.cs
- ListItemConverter.cs
- Misc.cs
- FrameworkElement.cs