2006-11-01 Igor Zelmanovich <igorz@mainsoft.com>
authorIgor Zelmanovich <igorz@mono-cvs.ximian.com>
Wed, 1 Nov 2006 09:46:43 +0000 (09:46 -0000)
committerIgor Zelmanovich <igorz@mono-cvs.ximian.com>
Wed, 1 Nov 2006 09:46:43 +0000 (09:46 -0000)
* FormView.cs: fixed: UpdateItem, DeleteItem.

svn path=/trunk/mcs/; revision=67210

mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
mcs/class/System.Web/System.Web.UI.WebControls/FormView.cs
mcs/class/System.Web/Test/System.Web.UI.WebControls/ChangeLog
mcs/class/System.Web/Test/System.Web.UI.WebControls/FormViewRowTest.cs
mcs/class/System.Web/Test/System.Web.UI.WebControls/FormViewTest.cs

index cc2f0bcb6942c8cc5533d5191563508acbaad672..40c07730680781b22df94210b32ce4816657037f 100644 (file)
@@ -1,3 +1,7 @@
+2006-11-01 Igor Zelmanovich <igorz@mainsoft.com>
+
+       * FormView.cs: fixed: UpdateItem, DeleteItem.
+
 2006-10-31 Igor Zelmanovich <igorz@mainsoft.com>
 
        * DetailsView.cs: fixed: PageIndex, UpdateItem, InsertItem.
index 18b73d4401baee60649c1406368c25590fd33395..edd62359c1442d4b163f96f7ef204b80c5bece77 100644 (file)
@@ -839,11 +839,11 @@ namespace System.Web.UI.WebControls
                        dataSource.PageSize = 1;\r
                        dataSource.CurrentPageIndex = PageIndex;\r
 \r
-                       if (dataBinding) {\r
+                       if (dataBinding && CurrentMode != FormViewMode.Insert) {\r
                                DataSourceView view = GetData ();\r
                                if (view != null && view.CanPage) {\r
                                        dataSource.AllowServerPaging = true;\r
-                                       if (view.CanRetrieveTotalRowCount)\r
+                                       if (SelectArguments.RetrieveTotalRowCount)\r
                                                dataSource.VirtualCount = SelectArguments.TotalRowCount;\r
                                }\r
                        }\r
@@ -1259,7 +1259,10 @@ namespace System.Web.UI.WebControls
                        \r
                        if (currentMode != FormViewMode.Edit) throw new HttpException ("Must be in Edit mode");\r
                        \r
-                       currentEditOldValues = oldEditValues.Values;\r
+                       if (oldEditValues == null)\r
+                               currentEditOldValues = new OrderedDictionary ();\r
+                       else\r
+                               currentEditOldValues = oldEditValues.Values;\r
                        currentEditRowKeys = DataKey.Values;\r
                        currentEditNewValues = GetRowValues (false);\r
                        \r
@@ -1333,8 +1336,8 @@ namespace System.Web.UI.WebControls
                        OnItemDeleting (args);\r
 \r
                        if (!args.Cancel) {\r
-                               if (PageIndex == PageCount - 1)\r
-                                       PageIndex --;\r
+                               if (PageIndex > 0 && PageIndex == PageCount - 1)\r
+                                       PageIndex--;\r
                                        \r
                                RequireBinding ();\r
                                        \r
index c59a0143eb8579a049270951bf1fad63779729a2..1da9bd4677af6f0796028f9c4470e8193f94b566 100644 (file)
@@ -1,7 +1,7 @@
-2006-10-30 Igor Zelmanovich <igorz@mainsoft.com>
+2006-11-01 Igor Zelmanovich <igorz@mainsoft.com>
 
-       * DetailsViewRowTest.cs: removed NotWorking attributes
-       * DetailsViewTest.cs: removed NotWorking attributes
+       * FormViewRowTest.cs: removed NotWorking attributes
+       * FormViewTest.cs: removed NotWorking attributes, fixed tests
                        
 2006-10-30 Igor Zelmanovich <igorz@mainsoft.com>
 
index 281f5dbcf89fa6828c94b6946e711ae0178a3453..dd67770489cf21d3b6678a208cc4a779f49331e6 100644 (file)
@@ -101,7 +101,6 @@ namespace MonoTests.System.Web.UI.WebControls
                private bool dataUpdating = false;
                
                [Test]
-               [Category ("NotWorking")] //NullReferenceException
                public void FormViewRow_BubbleEvent ()
                {
                        FormView fv = new FormView ();
@@ -173,4 +172,4 @@ namespace MonoTests.System.Web.UI.WebControls
        }
 }
 
-#endif
\ No newline at end of file
+#endif
index e70e15745af100153a2c6adc907afc19bf51908f..3d0cc0918fa175535b19014afc82da1aaef5c61e 100644 (file)
@@ -1427,6 +1427,7 @@ CommandEventArgs cargs = new CommandEventArgs ("Page", "Prev");
                \r
 \r
                [Test]\r
+               [Category ("NotDotNet")] // becaue Naming container: use "FormView1$....." for DotNet\r
                [Category ("NotWorking")]\r
                public void FormView_EditPostback ()\r
                {\r
@@ -1461,7 +1462,7 @@ CommandEventArgs cargs = new CommandEventArgs ("Page", "Prev");
                        FormRequest fr = new FormRequest (t.Response, "form1");\r
                        fr.Controls.Add ("__EVENTTARGET");\r
                        fr.Controls.Add ("__EVENTARGUMENT");\r
-                       fr.Controls["__EVENTTARGET"].Value = "FormView1$EditButton";\r
+                       fr.Controls["__EVENTTARGET"].Value = "FormView1:EditButton";\r
                        fr.Controls["__EVENTARGUMENT"].Value = "";\r
                        t.Request = fr;\r
                        pageHTML = t.Run ();\r
@@ -1492,12 +1493,12 @@ CommandEventArgs cargs = new CommandEventArgs ("Page", "Prev");
                        fr = new FormRequest (t.Response, "form1");\r
                        fr.Controls.Add ("__EVENTTARGET");\r
                        fr.Controls.Add ("__EVENTARGUMENT");\r
-                       fr.Controls.Add ("FormView1$FNameEdit");\r
-                       fr.Controls.Add ("FormView1$LNameEdit");\r
-                       fr.Controls["__EVENTTARGET"].Value = "FormView1$UpdateButton";\r
+                       fr.Controls.Add ("FormView1:FNameEdit");\r
+                       fr.Controls.Add ("FormView1:LNameEdit");\r
+                       fr.Controls["__EVENTTARGET"].Value = "FormView1:UpdateButton";\r
                        fr.Controls["__EVENTARGUMENT"].Value = "";                      \r
-                       fr.Controls["FormView1$FNameEdit"].Value = "Merav";\r
-                       fr.Controls["FormView1$LNameEdit"].Value = "Test";                      \r
+                       fr.Controls["FormView1:FNameEdit"].Value = "Merav";\r
+                       fr.Controls["FormView1:LNameEdit"].Value = "Test";                      \r
                        t.Request = fr;\r
                        pageHTML = t.Run ();\r
                        newHtml = pageHTML.Substring (pageHTML.IndexOf ("start") + 5, pageHTML.IndexOf ("end") - pageHTML.IndexOf ("start") - 5);\r
@@ -1528,7 +1529,7 @@ CommandEventArgs cargs = new CommandEventArgs ("Page", "Prev");
                        fr = new FormRequest (t.Response, "form1");\r
                        fr.Controls.Add ("__EVENTTARGET");\r
                        fr.Controls.Add ("__EVENTARGUMENT");\r
-                       fr.Controls["__EVENTTARGET"].Value = "FormView1$EditButton";\r
+                       fr.Controls["__EVENTTARGET"].Value = "FormView1:EditButton";\r
                        fr.Controls["__EVENTARGUMENT"].Value = "";                      \r
                        t.Request = fr;\r
                        pageHTML = t.Run ();\r
@@ -1540,11 +1541,11 @@ CommandEventArgs cargs = new CommandEventArgs ("Page", "Prev");
                        fr = new FormRequest (t.Response, "form1");\r
                        fr.Controls.Add ("__EVENTTARGET");\r
                        fr.Controls.Add ("__EVENTARGUMENT");\r
-                       fr.Controls.Add ("FormView1$FNameEdit");\r
-                       fr.Controls.Add ("FormView1$LNameEdit");\r
-                       fr.Controls["FormView1$FNameEdit"].Value = "EditFirstName";\r
-                       fr.Controls["FormView1$LNameEdit"].Value = "EditLastName";\r
-                       fr.Controls["__EVENTTARGET"].Value = "FormView1$CancelUpdateButton";\r
+                       fr.Controls.Add ("FormView1:FNameEdit");\r
+                       fr.Controls.Add ("FormView1:LNameEdit");\r
+                       fr.Controls["FormView1:FNameEdit"].Value = "EditFirstName";\r
+                       fr.Controls["FormView1:LNameEdit"].Value = "EditLastName";\r
+                       fr.Controls["__EVENTTARGET"].Value = "FormView1:CancelUpdateButton";\r
                        fr.Controls["__EVENTARGUMENT"].Value = "";\r
                        t.Request = fr;\r
                        pageHTML = t.Run ();\r
@@ -1576,7 +1577,7 @@ CommandEventArgs cargs = new CommandEventArgs ("Page", "Prev");
 \r
                [Test]\r
                [Category ("NotWorking")]\r
-               [Category ("NotDotNet")] //TODO\r
+               [Category ("NotDotNet")] // becaue Naming container: use "FormView1$....." for DotNet\r
                public void FormView_InsertPostback ()\r
                {\r
                        WebTest t = new WebTest ("FormViewInsertEditDelete.aspx");\r
@@ -1588,7 +1589,7 @@ CommandEventArgs cargs = new CommandEventArgs ("Page", "Prev");
                        FormRequest fr = new FormRequest (t.Response, "form1"); \r
                        fr.Controls.Add ("__EVENTTARGET");\r
                        fr.Controls.Add ("__EVENTARGUMENT");                    \r
-                       fr.Controls["__EVENTTARGET"].Value = "FormView1$NewButton";\r
+                       fr.Controls["__EVENTTARGET"].Value = "FormView1:NewButton";\r
                        fr.Controls["__EVENTARGUMENT"].Value = "";                                              \r
                        t.Request = fr;\r
                        pageHTML = t.Run ();\r
@@ -1618,13 +1619,13 @@ CommandEventArgs cargs = new CommandEventArgs ("Page", "Prev");
                        fr = new FormRequest (t.Response, "form1");\r
                        fr.Controls.Add ("__EVENTTARGET");\r
                        fr.Controls.Add ("__EVENTARGUMENT");\r
-                       fr.Controls.Add ("FormView1$IDInsert");\r
-                       fr.Controls.Add ("FormView1$FNameInsert");\r
-                       fr.Controls.Add ("FormView1$LNameInsert");\r
-                       fr.Controls["FormView1$IDInsert"].Value = "33";\r
-                       fr.Controls["FormView1$FNameInsert"].Value = "InsertFirstName";\r
-                       fr.Controls["FormView1$LNameInsert"].Value ="InsertLastName";\r
-                       fr.Controls["__EVENTTARGET"].Value = "FormView1$InsertButton";\r
+                       fr.Controls.Add ("FormView1:IDInsert");\r
+                       fr.Controls.Add ("FormView1:FNameInsert");\r
+                       fr.Controls.Add ("FormView1:LNameInsert");\r
+                       fr.Controls["FormView1:IDInsert"].Value = "33";\r
+                       fr.Controls["FormView1:FNameInsert"].Value = "InsertFirstName";\r
+                       fr.Controls["FormView1:LNameInsert"].Value ="InsertLastName";\r
+                       fr.Controls["__EVENTTARGET"].Value = "FormView1:InsertButton";\r
                        fr.Controls["__EVENTARGUMENT"].Value = "";\r
                        t.Request = fr;\r
                        pageHTML = t.Run ();                    \r
@@ -1649,8 +1650,7 @@ CommandEventArgs cargs = new CommandEventArgs ("Page", "Prev");
                }               \r
 \r
                [Test]\r
-               [Category ("NotWorking")]\r
-               [Category ("NotDotNet")] //TODO\r
+               [Category ("NotDotNet")] // becaue Naming container: use "FormView1$DeleteButton" for DotNet\r
                public void FormView_DeleteAndEmptyTemplatePostback ()\r
                {\r
                        WebTest t = new WebTest ("FormViewInsertEditDelete.aspx");\r
@@ -1664,7 +1664,7 @@ CommandEventArgs cargs = new CommandEventArgs ("Page", "Prev");
                        FormRequest fr = new FormRequest (t.Response, "form1");\r
                        fr.Controls.Add ("__EVENTTARGET");\r
                        fr.Controls.Add ("__EVENTARGUMENT");\r
-                       fr.Controls["__EVENTTARGET"].Value = "FormView1$DeleteButton";\r
+                       fr.Controls["__EVENTTARGET"].Value = "FormView1:DeleteButton";\r
                        fr.Controls["__EVENTARGUMENT"].Value = "";\r
                        t.Request = fr;\r
                        pageHTML = t.Run ();                    \r
@@ -1679,7 +1679,7 @@ CommandEventArgs cargs = new CommandEventArgs ("Page", "Prev");
                        fr = new FormRequest (t.Response, "form1");\r
                        fr.Controls.Add ("__EVENTTARGET");\r
                        fr.Controls.Add ("__EVENTARGUMENT");\r
-                       fr.Controls["__EVENTTARGET"].Value = "FormView1$DeleteButton";\r
+                       fr.Controls["__EVENTTARGET"].Value = "FormView1:DeleteButton";\r
                        fr.Controls["__EVENTARGUMENT"].Value = "";\r
                        t.Request = fr;\r
                        pageHTML = t.Run ();\r
@@ -1693,7 +1693,7 @@ CommandEventArgs cargs = new CommandEventArgs ("Page", "Prev");
                        fr = new FormRequest (t.Response, "form1");\r
                        fr.Controls.Add ("__EVENTTARGET");\r
                        fr.Controls.Add ("__EVENTARGUMENT");\r
-                       fr.Controls["__EVENTTARGET"].Value = "FormView1$DeleteButton";\r
+                       fr.Controls["__EVENTTARGET"].Value = "FormView1:DeleteButton";\r
                        fr.Controls["__EVENTARGUMENT"].Value = "";\r
                        t.Request = fr;\r
                        pageHTML = t.Run ();                    \r