Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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 = 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
- MediaEntryAttribute.cs
- OrderedDictionaryStateHelper.cs
- DataGridSortCommandEventArgs.cs
- DecoderFallback.cs
- ResXDataNode.cs
- WsdlBuildProvider.cs
- KnownTypesProvider.cs
- FactoryGenerator.cs
- SqlDataSourceView.cs
- SQLRoleProvider.cs
- DocumentPageHost.cs
- X509UI.cs
- _BasicClient.cs
- RichTextBoxConstants.cs
- StrongNameMembershipCondition.cs
- TextEditorParagraphs.cs
- SoapMessage.cs
- xdrvalidator.cs
- WinCategoryAttribute.cs
- ListViewUpdatedEventArgs.cs
- StringArrayConverter.cs
- HandlerBase.cs
- SqlExpressionNullability.cs
- TypefaceMap.cs
- ReadOnlyNameValueCollection.cs
- XmlBinaryReader.cs
- AdapterDictionary.cs
- NullableDecimalSumAggregationOperator.cs
- ServerIdentity.cs
- BlobPersonalizationState.cs
- SafeNativeMethods.cs
- MenuBase.cs
- SoapAttributeAttribute.cs
- SettingsSection.cs
- StorageConditionPropertyMapping.cs
- OutputWindow.cs
- PcmConverter.cs
- MemberHolder.cs
- UdpMessageProperty.cs
- HtmlForm.cs
- PropertyInformationCollection.cs
- MenuItemBinding.cs
- ThrowHelper.cs
- Visual3D.cs
- MessageTransmitTraceRecord.cs
- InternalResources.cs
- InputLanguageManager.cs
- XomlDesignerLoader.cs
- IsolatedStorageFilePermission.cs
- DataGridViewTextBoxCell.cs
- AccessDataSourceWizardForm.cs
- SqlClientWrapperSmiStream.cs
- RecognizerBase.cs
- PerformanceCountersElement.cs
- PersonalizationState.cs
- XsltContext.cs
- EntityDataSourceContextCreatingEventArgs.cs
- IgnoreFlushAndCloseStream.cs
- HtmlInputImage.cs
- ControlValuePropertyAttribute.cs
- mansign.cs
- ResXResourceReader.cs
- Win32MouseDevice.cs
- NativeMethods.cs
- MaterialGroup.cs
- FontNamesConverter.cs
- QueryCacheManager.cs
- ReceiveContextCollection.cs
- BufferedGraphicsContext.cs
- AlphaSortedEnumConverter.cs
- DataSourceSelectArguments.cs
- mansign.cs
- GeneratedContractType.cs
- TemplateBaseAction.cs
- TPLETWProvider.cs
- DemultiplexingClientMessageFormatter.cs
- QuaternionKeyFrameCollection.cs
- Certificate.cs
- IgnoreFileBuildProvider.cs
- Padding.cs
- Ipv6Element.cs
- PromptEventArgs.cs
- IconEditor.cs
- COM2FontConverter.cs
- FaultBookmark.cs
- PeerPresenceInfo.cs
- ProtocolsConfigurationEntry.cs
- Config.cs
- SystemUnicastIPAddressInformation.cs
- _NegoState.cs
- OutputCacheEntry.cs
- baseaxisquery.cs
- AppAction.cs
- SamlAdvice.cs
- HTMLTagNameToTypeMapper.cs
- ScrollPattern.cs
- BinaryReader.cs
- CultureTableRecord.cs
- StringFreezingAttribute.cs
- SecurityProtocol.cs