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
- WeakHashtable.cs
- SignatureGenerator.cs
- ListViewAutomationPeer.cs
- HWStack.cs
- AnimationLayer.cs
- AsymmetricSignatureFormatter.cs
- ConsoleKeyInfo.cs
- SqlDuplicator.cs
- BooleanSwitch.cs
- TextParagraphView.cs
- InkCanvasAutomationPeer.cs
- FontFamily.cs
- CodeTypeOfExpression.cs
- DataGridViewSortCompareEventArgs.cs
- WebPartConnectionsConfigureVerb.cs
- ReaderWriterLock.cs
- CalendarAutomationPeer.cs
- BitmapEffectInputData.cs
- AxHost.cs
- _FtpControlStream.cs
- DoubleStorage.cs
- CatalogZoneBase.cs
- PassportAuthentication.cs
- CompositeFontInfo.cs
- XmlFormatWriterGenerator.cs
- SafeTokenHandle.cs
- NativeMethods.cs
- BatchParser.cs
- DetailsViewDeletedEventArgs.cs
- TimeSpanStorage.cs
- GlobalProxySelection.cs
- Stopwatch.cs
- IndexingContentUnit.cs
- WindowsTokenRoleProvider.cs
- PassportIdentity.cs
- DependentList.cs
- RenamedEventArgs.cs
- SchemaCollectionCompiler.cs
- DocumentViewerBaseAutomationPeer.cs
- FixedSOMLineRanges.cs
- ViewStateModeByIdAttribute.cs
- XmlNodeList.cs
- C14NUtil.cs
- DeobfuscatingStream.cs
- Cursor.cs
- WebPartAddingEventArgs.cs
- EventEntry.cs
- ToolTipService.cs
- WindowsGrip.cs
- Timer.cs
- WebPartDisplayModeEventArgs.cs
- XmlSchemaCollection.cs
- HtmlTableRow.cs
- HtmlPanelAdapter.cs
- DeclaredTypeElement.cs
- FormsAuthentication.cs
- TraceHwndHost.cs
- DynamicUpdateCommand.cs
- DeflateStream.cs
- MDIWindowDialog.cs
- FormViewUpdateEventArgs.cs
- DirectoryLocalQuery.cs
- CodeMemberField.cs
- MenuItem.cs
- BoundingRectTracker.cs
- DotExpr.cs
- validationstate.cs
- XmlDomTextWriter.cs
- StringComparer.cs
- ModelUIElement3D.cs
- CompiledIdentityConstraint.cs
- HyperLink.cs
- FamilyCollection.cs
- TypeElement.cs
- HtmlElementErrorEventArgs.cs
- DataServiceRequestArgs.cs
- ContextDataSource.cs
- ImageField.cs
- WebEventTraceProvider.cs
- XamlTreeBuilder.cs
- DataColumnMappingCollection.cs
- WorkflowMarkupSerializer.cs
- XPathDocumentIterator.cs
- CallbackException.cs
- ModuleConfigurationInfo.cs
- ExpressionEditorAttribute.cs
- ToolStripPanelRenderEventArgs.cs
- WindowsFormsSynchronizationContext.cs
- CounterCreationData.cs
- ScriptingProfileServiceSection.cs
- MasterPageBuildProvider.cs
- DiscoveryMessageProperty.cs
- IOException.cs
- TypeConstant.cs
- DataControlCommands.cs
- SecurityElement.cs
- OdbcFactory.cs
- AsyncOperation.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- GlyphRunDrawing.cs