Author: igorz
Date: 2008-01-02 10:33:23 -0500 (Wed, 02 Jan 2008)
New Revision: 92110
Modified:
trunk/mcs/class/System.Web.Extensions/System.Web.UI/ScriptManager.cs
Log:
implement GetRegisteredArrayDeclarations()
Modified: trunk/mcs/class/System.Web.Extensions/System.Web.UI/ScriptManager.cs
===================================================================
--- trunk/mcs/class/System.Web.Extensions/System.Web.UI/ScriptManager.cs
2008-01-02 15:29:12 UTC (rev 92109)
+++ trunk/mcs/class/System.Web.Extensions/System.Web.UI/ScriptManager.cs
2008-01-02 15:33:23 UTC (rev 92110)
@@ -103,7 +103,7 @@
ScriptEntry _startupScriptBlocks;
ScriptEntry _scriptIncludes;
ScriptEntry _onSubmitStatements;
- List<ArrayDeclaration> _arrayDeclarations;
+ List<RegisteredArrayDeclaration> _arrayDeclarations;
Hashtable _hiddenFields;
List<IScriptControl> _registeredScriptControls;
Dictionary<IExtenderControl, Control>
_registeredExtenderControls;
@@ -629,7 +629,7 @@
}
public ReadOnlyCollection<RegisteredArrayDeclaration>
GetRegisteredArrayDeclarations () {
- throw new NotImplementedException ();
+ return new
ReadOnlyCollection<RegisteredArrayDeclaration> (_arrayDeclarations);
}
public ReadOnlyCollection<RegisteredScript>
GetRegisteredClientScriptBlocks () {
@@ -727,23 +727,21 @@
up.Update ();
}
- public static void RegisterArrayDeclaration (Control control,
string arrayName, string arrayValue) {
- RegisterArrayDeclaration (control.Page, arrayName,
arrayValue);
+ public static void RegisterArrayDeclaration (Page page, string
arrayName, string arrayValue) {
+ RegisterArrayDeclaration ((Control) page, arrayName,
arrayValue);
}
- public static void RegisterArrayDeclaration (Page page, string
arrayName, string arrayValue) {
+ public static void RegisterArrayDeclaration (Control control,
string arrayName, string arrayValue) {
+ Page page = control.Page;
ScriptManager sm = GetCurrent (page);
- if (sm.IsInAsyncPostBack)
- sm.RegisterArrayDeclaration (arrayName,
arrayValue);
- else
- page.ClientScript.RegisterArrayDeclaration
(arrayName, arrayValue);
- }
- void RegisterArrayDeclaration (string arrayName, string
arrayValue) {
- if (_arrayDeclarations == null)
- _arrayDeclarations = new List<ArrayDeclaration>
();
+ if (sm._arrayDeclarations == null)
+ sm._arrayDeclarations = new
List<RegisteredArrayDeclaration> ();
- _arrayDeclarations.Add (new ArrayDeclaration
(arrayName, arrayValue));
+ sm._arrayDeclarations.Add (new
RegisteredArrayDeclaration (control, arrayName, arrayValue));
+
+ if (!sm.IsInAsyncPostBack)
+ page.ClientScript.RegisterArrayDeclaration
(arrayName, arrayValue);
}
public void RegisterAsyncPostBackControl (Control control) {
@@ -1254,8 +1252,8 @@
void WriteArrayDeclarations (HtmlTextWriter writer) {
if (_arrayDeclarations != null) {
for (int i = 0; i < _arrayDeclarations.Count;
i++) {
- ArrayDeclaration array =
_arrayDeclarations [i];
- WriteCallbackOutput (writer,
arrayDeclaration, array.ArrayName, array.ArrayValue);
+ RegisteredArrayDeclaration array =
_arrayDeclarations [i];
+ WriteCallbackOutput (writer,
arrayDeclaration, array.Name, array.Value);
}
}
}
@@ -1532,17 +1530,6 @@
OnSubmit
}
- sealed class ArrayDeclaration
- {
- readonly public string ArrayName;
- readonly public string ArrayValue;
-
- public ArrayDeclaration (string arrayName, string
arrayValue) {
- ArrayName = arrayName;
- ArrayValue = arrayValue;
- }
- }
-
sealed class CultureInfoSerializer :
JavaScriptSerializer.LazyDictionary
{
readonly CultureInfo _ci;
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches