Преглед изворни кода

2007-08-06 Igor Zelmanovich <[email protected]>

	* DataSourceView.cs: fixed: 
	view raises onchange event when datasource is chenged.			

2007-08-06 Igor Zelmanovich <[email protected]>

	* DataSourceViewTest.cs:
	Added new test.

2007-08-06 Igor Zelmanovich <[email protected]>

	* AccessDataSource.cs: does not subscribed on view changed event.
	* ObjectDataSource.cs: fixed state management.
	* SqlDataSource.cs:	fixed state management.	 


svn path=/trunk/mcs/; revision=83541
Igor Zelmanovich пре 18 година
родитељ
комит
2b7aca3342

+ 0 - 6
mcs/class/System.Web/System.Web.UI.WebControls/AccessDataSource.cs

@@ -65,17 +65,11 @@ namespace System.Web.UI.WebControls {
 		protected override SqlDataSourceView CreateDataSourceView (string viewName)
 		{
 			AccessDataSourceView view = new AccessDataSourceView (this, viewName, this.Context);
-			view.DataSourceViewChanged += new EventHandler (ViewChanged);
 			if (IsTrackingViewState)
 				((IStateManager) view).TrackViewState ();				
 			return view;
 		}
 
-		void ViewChanged (object source, EventArgs e)
-		{
-			RaiseDataSourceChangedEvent (e);
-		}
-
 		[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
 		[Browsable (false)]
 		[MonoTODO("AccessDataSource does not support SQL Cache Dependencies")]

+ 6 - 0
mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog

@@ -1,3 +1,9 @@
+2007-08-06 Igor Zelmanovich <[email protected]>
+
+	* AccessDataSource.cs: does not subscribed on view changed event.
+	* ObjectDataSource.cs: fixed state management.
+	* SqlDataSource.cs:	fixed state management.	 
+
 2007-08-05  Vladimir Krasnov  <[email protected]>
 
 	* Button.cs, 

+ 6 - 3
mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSource.cs

@@ -70,9 +70,12 @@ namespace System.Web.UI.WebControls
 		}
 		
 		ObjectDataSourceView DefaultView {
-			get {
-				if (defaultView == null)
-					defaultView = new ObjectDataSourceView (this, emptyNames [0], Context);
+			get {
+				if (defaultView == null) {
+					defaultView = new ObjectDataSourceView (this, emptyNames [0], Context);
+					if (IsTrackingViewState)
+						((IStateManager) defaultView).TrackViewState ();
+				}
 				return defaultView;
 			}
 		}

+ 2 - 0
mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSource.cs

@@ -81,6 +81,8 @@ namespace System.Web.UI.WebControls {
 		protected virtual SqlDataSourceView CreateDataSourceView (string viewName)
 		{
 			SqlDataSourceView view = new SqlDataSourceView (this, viewName, this.Context);
+			if (IsTrackingViewState)
+				((IStateManager) view).TrackViewState ();
 			return view;
 		}
 

+ 5 - 0
mcs/class/System.Web/System.Web.UI/ChangeLog

@@ -1,3 +1,8 @@
+2007-08-06 Igor Zelmanovich <[email protected]>
+
+	* DataSourceView.cs: fixed: 
+	view raises onchange event when datasource is chenged.			
+
 2007-08-06 Igor Zelmanovich <[email protected]>
 
 	* Control.cs: fixed: control ID management.			

+ 5 - 0
mcs/class/System.Web/System.Web.UI/DataSourceView.cs

@@ -49,6 +49,11 @@ namespace System.Web.UI {
 
 			//this.dataSourceOwner = owner;
 			this.viewName = viewName;
+			owner.DataSourceChanged += new EventHandler (OnDataSourceChanged);
+		}
+
+		void OnDataSourceChanged (object sender, EventArgs e) {
+			OnDataSourceViewChanged (EventArgs.Empty);
 		}
 
 		public virtual void Delete (IDictionary keys, IDictionary values,

+ 5 - 0
mcs/class/System.Web/Test/System.Web.UI.WebControls/ChangeLog

@@ -1,3 +1,8 @@
+2007-08-06 Igor Zelmanovich <[email protected]>
+
+	* DataSourceViewTest.cs:
+	Added new test.
+
 2007-08-06 Igor Zelmanovich <[email protected]>
 
 	* DataGridTest.cs:

+ 9 - 0
mcs/class/System.Web/Test/System.Web.UI.WebControls/DataSourceViewTest.cs

@@ -117,6 +117,15 @@ namespace MonoTests.System.Web.UI.WebControls
 			view.DataSourceViewChanged += new EventHandler (Eventchecker);
 			view.DoOnDataSourceViewChanged (new EventArgs ());
 			Eventassert ("DataSourceViewChanged");
+		}
+
+		[Test]
+		public void DataSourceView_Events2 () {
+			PokerDataSource ds = new PokerDataSource ();
+			PokerDataSourceView view = new PokerDataSourceView (ds, "View");
+			view.DataSourceViewChanged += new EventHandler (Eventchecker);
+			ds.DoRaiseDataSourceChangedEvent (new EventArgs ());
+			Eventassert ("DataSourceViewChanged");
 		}
 
 		[Test]