Code:
/ DotNET / DotNET / 8.0 / untmp / Orcas / RTM / ndp / fx / src / xsp / System / Web / Extensions / ui / ScriptRegistrationManager.cs / 2 / 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 = JavaScriptSerializer.CreateInstance(); 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ListViewUpdateEventArgs.cs
- ProcessManager.cs
- DbBuffer.cs
- HttpCookiesSection.cs
- PropertyToken.cs
- SHA256.cs
- MailMessageEventArgs.cs
- SqlCacheDependencyDatabaseCollection.cs
- AbandonedMutexException.cs
- SchemaLookupTable.cs
- SchemaType.cs
- OverflowException.cs
- IteratorFilter.cs
- WpfXamlMember.cs
- ComNativeDescriptor.cs
- FlowLayout.cs
- ArrayElementGridEntry.cs
- PartialCachingAttribute.cs
- X509Certificate2Collection.cs
- ZoneButton.cs
- Matrix.cs
- DeclaredTypeElementCollection.cs
- ZipPackagePart.cs
- SequenceDesignerAccessibleObject.cs
- ListViewVirtualItemsSelectionRangeChangedEvent.cs
- WebPartConnectionsCloseVerb.cs
- SafeNativeMethods.cs
- RowUpdatingEventArgs.cs
- ProgressBarBrushConverter.cs
- DataGridViewBand.cs
- DoubleStorage.cs
- SendSecurityHeaderElementContainer.cs
- Comparer.cs
- webproxy.cs
- JsonGlobals.cs
- NullableDoubleAverageAggregationOperator.cs
- DocumentPageViewAutomationPeer.cs
- BooleanSwitch.cs
- Composition.cs
- SubpageParaClient.cs
- XmlNodeReader.cs
- DocumentXmlWriter.cs
- DSASignatureFormatter.cs
- MessageQueueEnumerator.cs
- BitStack.cs
- PropertyChangingEventArgs.cs
- mansign.cs
- Visitor.cs
- AutomationElementCollection.cs
- ChangeToolStripParentVerb.cs
- RowUpdatedEventArgs.cs
- BinaryParser.cs
- ValueConversionAttribute.cs
- FormsAuthenticationConfiguration.cs
- DataSourceXmlSerializer.cs
- SqlProviderServices.cs
- BaseCollection.cs
- TableLayoutSettings.cs
- ContextMarshalException.cs
- PrePrepareMethodAttribute.cs
- PageAsyncTaskManager.cs
- DesignerEditorPartChrome.cs
- ASCIIEncoding.cs
- CaseCqlBlock.cs
- BaseCAMarshaler.cs
- QuadraticBezierSegment.cs
- ChangeTracker.cs
- ProfilePropertyNameValidator.cs
- OutputCacheSettings.cs
- SubclassTypeValidatorAttribute.cs
- ClientApiGenerator.cs
- SQLByteStorage.cs
- ResourcePart.cs
- FrameworkTextComposition.cs
- ResourcesBuildProvider.cs
- EncryptedKey.cs
- RegionData.cs
- DirectoryLocalQuery.cs
- Parser.cs
- DataGridViewComboBoxColumn.cs
- ReadOnlyDataSourceView.cs
- XmlAttributeOverrides.cs
- CodeTryCatchFinallyStatement.cs
- MimeBasePart.cs
- HwndSourceParameters.cs
- BuildResult.cs
- FormViewPagerRow.cs
- CodeArrayCreateExpression.cs
- ControlBuilder.cs
- ResourcePool.cs
- EmissiveMaterial.cs
- CornerRadius.cs
- datacache.cs
- SqlPersonalizationProvider.cs
- WpfPayload.cs
- ValueType.cs
- FixedSOMFixedBlock.cs
- SafeHandle.cs
- SafeNativeMethodsCLR.cs
- HttpModuleActionCollection.cs