Ver código fonte

2006-10-17 Igor Zelmanovich <[email protected]>

	* DataBoundControl.cs: fixed: DataBind calls
	CreateDataSourceSelectArguments() and stores result in 	SelectArguments


svn path=/trunk/mcs/; revision=66754
Igor Zelmanovich 19 anos atrás
pai
commit
df51549965

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

@@ -1,3 +1,8 @@
+2006-10-17 Igor Zelmanovich <[email protected]>
+
+	* DataBoundControl.cs: fixed: DataBind calls
+	CreateDataSourceSelectArguments() and stores result in 	SelectArguments
+
 2006-10-17 Igor Zelmanovich <[email protected]>
 
 	* DetailsView.cs: 

+ 5 - 1
mcs/class/System.Web/System.Web.UI.WebControls/DataBoundControl.cs

@@ -188,7 +188,8 @@ namespace System.Web.UI.WebControls {
 			if (!IsBoundUsingDataSourceID)
 				OnDataBinding (EventArgs.Empty);
 
-			GetData ().Select (CreateDataSourceSelectArguments (), new DataSourceViewSelectCallback (OnSelect));
+			SelectArguments = CreateDataSourceSelectArguments ();
+			GetData ().Select (SelectArguments, new DataSourceViewSelectCallback (OnSelect));
 			MarkAsDataBound ();
 			
 			// Raise the DataBound event.
@@ -218,6 +219,9 @@ namespace System.Web.UI.WebControls {
 					selectArguments = CreateDataSourceSelectArguments ();
 				return selectArguments;
 			}
+			private set {
+				selectArguments = value;
+			}
 		}
 
 		bool IsDataBound {

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

@@ -1,3 +1,7 @@
+2006-10-17 Igor Zelmanovich <[email protected]>
+
+	* DataBoundControlTest.cs: added test
+			
 2006-10-17 Vladimir Krasnov <[email protected]>
 
 	* added: SqlDataSourceDerbyTest.cs

+ 6 - 2
mcs/class/System.Web/Test/System.Web.UI.WebControls/DataBoundControlTest.cs

@@ -55,6 +55,7 @@ namespace MonoTests.System.Web.UI.WebControls
 		class MyDataBoundControl : DataBoundControl
 		{
 			public int CreateDataSourceSelectArgumentsCalled;
+			public DataSourceSelectArguments CreatedDataSourceSelectArguments;
 			private StringBuilder dataBindTrace = new StringBuilder ();
 			public string DataBindTrace {
 				get { return dataBindTrace.ToString (); }
@@ -112,7 +113,8 @@ namespace MonoTests.System.Web.UI.WebControls
 
 			protected override DataSourceSelectArguments CreateDataSourceSelectArguments () {
 				CreateDataSourceSelectArgumentsCalled++;
-				return base.CreateDataSourceSelectArguments ();
+				CreatedDataSourceSelectArguments = base.CreateDataSourceSelectArguments ();
+				return CreatedDataSourceSelectArguments;
 			}
 
 			public DataSourceSelectArguments GetSelectArguments () {
@@ -169,11 +171,13 @@ namespace MonoTests.System.Web.UI.WebControls
 			DataSourceSelectArguments arg1 = dc.GetSelectArguments ();
 			Assert.AreEqual (1, dc.CreateDataSourceSelectArgumentsCalled, "CreateDataSourceSelectArgumentsCalled#1");
 			dc.DataBind ();
+			DataSourceSelectArguments argCreated2 = dc.CreatedDataSourceSelectArguments;
 			DataSourceSelectArguments arg2 = dc.GetSelectArguments ();
 			Assert.AreEqual (2, dc.CreateDataSourceSelectArgumentsCalled, "CreateDataSourceSelectArgumentsCalled#2");
 			dc.DataBind ();
+			DataSourceSelectArguments argCreated3 = dc.CreatedDataSourceSelectArguments;
 			Assert.AreEqual (3, dc.CreateDataSourceSelectArgumentsCalled, "CreateDataSourceSelectArgumentsCalled#3");
-			Assert.IsTrue(object.ReferenceEquals(arg1, arg1), "CreateDataSourceSelectArgumentsCalled#4");
+			Assert.IsTrue (object.ReferenceEquals (argCreated2, arg2), "CreateDataSourceSelectArgumentsCalled#4");
 		}
 		
 		[Test]