FormViewTest Update - Three postback tests were added
authorMerav Sudri <meravs@mono-cvs.ximian.com>
Mon, 24 Jul 2006 13:11:08 +0000 (13:11 -0000)
committerMerav Sudri <meravs@mono-cvs.ximian.com>
Mon, 24 Jul 2006 13:11:08 +0000 (13:11 -0000)
svn path=/trunk/mcs/; revision=62914

mcs/class/System.Web/ChangeLog
mcs/class/System.Web/Makefile
mcs/class/System.Web/Test/System.Web.UI.WebControls/ChangeLog
mcs/class/System.Web/Test/System.Web.UI.WebControls/FormViewTest.cs
mcs/class/System.Web/Test/mainsoft/NunitWebResources/FormViewInsertEditDelete.aspx [new file with mode: 0644]

index c66ae9fb1869310132c81a53773a597457445e9e..1d40109511eee8a26c19bc8d4570e65969496aa9 100644 (file)
@@ -1,4 +1,8 @@
-2006-07-19 Merav Sudri <meravs@mainsoft.com>
+2006-07-24 Merav Sudri <meravs@mainsoft.com>
+                                
+       * Makefile: add Test/mainsoft/NunitWebResources/FormViewInsertEditDelete.aspx
+                       resource for Postback functions
+2006-07-19 Merav Sudri <meravs@mainsoft.com>
 
        * System.Web_test.dll.sources:add DetailsViewRowTest.cs
                                      add DetailsViewRowCollectionTest.cs
index 7450a853b413b87d63dd056a4ed448bf057b1dd9..f710d5b37ff26ecf9fc9325d80d7328d46b13666 100644 (file)
@@ -90,6 +90,7 @@ TEST_RESOURCE_FILES = \
        Test/mainsoft/NunitWebResources/DetailsViewProperties1.aspx \
        Test/mainsoft/NunitWebResources/Bluehills.jpg \
        Test/mainsoft/NunitWebResources/FormViewTest1.aspx \
+       Test/mainsoft/NunitWebResources/FormViewInsertEditDelete.aspx \
        Test/mainsoft/MainsoftWebTest/nunitweb_config.xml 
 
 NUNIT_RESOURCE_FILES = $(TEST_RESOURCE_FILES)
index 912576e0a8c3785fcea6638d5424391b00a4dd67..f8c2c4823a235243fe714ee2baacf53db0348f6a 100644 (file)
@@ -1,3 +1,7 @@
+2006-07-25 Merav Sudri <meravs@mainsoft.com>
+
+       * FormViewTest.cs: Add three postback tests.
+
 2006-07-24 Andrew Skiba <andrews@mainsoft.com>
 
        * DetailsViewTest.cs: split a test in two, working and not working.
index 5eab45e20733833f50f46301c5e1436713bee7db..ef5eeb5472ad3c96d534e6736737814c29f48e2c 100644 (file)
@@ -1377,7 +1377,279 @@ CommandEventArgs cargs = new CommandEventArgs ("Page", "Prev");
                }
                
 
-               //ToDo: Postbacks - Insert, Delete and Edit.
+               [Test]
+               [Category ("NotWorking")]
+               public void FormView_EditPostback ()
+               {
+                       WebTest t = new WebTest ("FormViewInsertEditDelete.aspx");
+                       string pageHTML = t.Run ();
+                       string newHtml = pageHTML.Substring (pageHTML.IndexOf ("start") + 5, pageHTML.IndexOf ("end") - pageHTML.IndexOf ("start") - 5);
+                       string origHtml = @" <div> 
+                                       &nbsp;
+                                       <table cellspacing=""0"" border=""0"" id=""FormView1"" style=""border-collapse:collapse;"">
+                                       <tr>
+                                       <td colspan=""2"">
+                                       <span id=""FormView1_ID"">1001</span>&nbsp;
+                                        <span id=""FormView1_LName"">Chand</span>                
+                                        <span id=""FormView1_FName"">Mahesh</span>&nbsp;
+                                       <a id=""FormView1_EditButton"" href=""javascript:__doPostBack('FormView1$EditButton','')"">Edit</a>
+                                        <a id=""FormView1_NewButton"" href=""javascript:__doPostBack('FormView1$NewButton','')"">New</a>
+                                       <a id=""FormView1_DeleteButton"" href=""javascript:__doPostBack('FormView1$DeleteButton','')"">Delete</a>
+                                       </td>
+                                       </tr><tr>
+                                       <td colspan=""2""><table border=""0"">
+                                       <tr>
+                                       <td><span>1</span></td><td><a href=""javascript:__doPostBack('FormView1','Page$2')"">2</a></td><td><a href=""javascript:__doPostBack('FormView1','Page$3')"">3</a></td>
+                                       </tr>
+                                       </table></td>
+                                       </tr>
+                                       </table>     
+                                        </div>";
+                       HtmlDiff.AssertAreEqual (origHtml, newHtml, "BeforeEditPostback");
+
+                       //Edit button postback (change to edit mode - buttons "Update" and "Cancel" should appear.
+                       
+                       FormRequest fr = new FormRequest (t.Response, "form1");
+                       fr.Controls.Add ("__EVENTTARGET");
+                       fr.Controls.Add ("__EVENTARGUMENT");
+                       fr.Controls["__EVENTTARGET"].Value = "FormView1$EditButton";
+                       fr.Controls["__EVENTARGUMENT"].Value = "";
+                       t.Request = fr;
+                       pageHTML = t.Run ();
+                       newHtml = pageHTML.Substring (pageHTML.IndexOf ("start") + 5, pageHTML.IndexOf ("end") - pageHTML.IndexOf ("start") - 5);
+                       origHtml = @" <div>
+                                       &nbsp;
+                                       <table cellspacing=""0"" border=""0"" id=""FormView1"" style=""border-collapse:collapse;"">
+                                       <tr>
+                                       <td colspan=""2"">                
+                                        Enter First Name:<input name=""FormView1$FNameEdit"" type=""text"" value=""Mahesh"" id=""FormView1_FNameEdit"" /><br />
+                                        Enter Last Name:<input name=""FormView1$LNameEdit"" type=""text"" value=""Chand"" id=""FormView1_LNameEdit"" /><br />
+                                        <a id=""FormView1_UpdateButton"" href=""javascript:__doPostBack('FormView1$UpdateButton','')"">Update</a>
+                                       <a id=""FormView1_CancelUpdateButton"" href=""javascript:__doPostBack('FormView1$CancelUpdateButton','')"">Cancel</a>
+                                        </td>
+                                       </tr><tr>
+                                       <td colspan=""2""><table border=""0"">
+                                       <tr>
+                                       <td><span>1</span></td><td><a href=""javascript:__doPostBack('FormView1','Page$2')"">2</a></td><td><a href=""javascript:__doPostBack('FormView1','Page$3')"">3</a></td>
+                                       </tr>
+                                       </table></td>
+                                       </tr>
+                                       </table>    
+                                       </div>";
+                       HtmlDiff.AssertAreEqual (origHtml, newHtml, "AfterEditPostback");
+
+                       //Update record postback                
+                       
+                       fr = new FormRequest (t.Response, "form1");
+                       fr.Controls.Add ("__EVENTTARGET");
+                       fr.Controls.Add ("__EVENTARGUMENT");
+                       fr.Controls.Add ("FormView1$FNameEdit");
+                       fr.Controls.Add ("FormView1$LNameEdit");
+                       fr.Controls["__EVENTTARGET"].Value = "FormView1$UpdateButton";
+                       fr.Controls["__EVENTARGUMENT"].Value = "";                      
+                       fr.Controls["FormView1$FNameEdit"].Value = "Merav";
+                       fr.Controls["FormView1$LNameEdit"].Value = "Test";                      
+                       t.Request = fr;
+                       pageHTML = t.Run ();
+                       newHtml = pageHTML.Substring (pageHTML.IndexOf ("start") + 5, pageHTML.IndexOf ("end") - pageHTML.IndexOf ("start") - 5);
+                       origHtml=@"  <div>
+                               &nbsp;
+                                <table cellspacing=""0"" border=""0"" id=""FormView1"" style=""border-collapse:collapse;"">
+                               <tr>
+                               <td colspan=""2"">
+                               <span id=""FormView1_ID"">1001</span>&nbsp;
+                                <span id=""FormView1_LName"">Test</span>                
+                               <span id=""FormView1_FName"">Merav</span>&nbsp;
+                               <a id=""FormView1_EditButton"" href=""javascript:__doPostBack('FormView1$EditButton','')"">Edit</a>
+                               <a id=""FormView1_NewButton"" href=""javascript:__doPostBack('FormView1$NewButton','')"">New</a>
+                               <a id=""FormView1_DeleteButton"" href=""javascript:__doPostBack('FormView1$DeleteButton','')"">Delete</a>
+                               </td>
+                               </tr><tr>
+                               <td colspan=""2""><table border=""0"">
+                               <tr>
+                               <td><span>1</span></td><td><a href=""javascript:__doPostBack('FormView1','Page$2')"">2</a></td><td><a href=""javascript:__doPostBack('FormView1','Page$3')"">3</a></td>
+                               </tr>
+                               </table></td>
+                               </tr>
+                               </table>     
+                               </div>";
+                       HtmlDiff.AssertAreEqual (origHtml, newHtml, "AfterUpdatePostback"); 
+  
+                       //Postback to return to Edit mode
+                       fr = new FormRequest (t.Response, "form1");
+                       fr.Controls.Add ("__EVENTTARGET");
+                       fr.Controls.Add ("__EVENTARGUMENT");
+                       fr.Controls["__EVENTTARGET"].Value = "FormView1$EditButton";
+                       fr.Controls["__EVENTARGUMENT"].Value = "";                      
+                       t.Request = fr;
+                       pageHTML = t.Run ();
+                       newHtml = pageHTML.Substring (pageHTML.IndexOf ("start") + 5, pageHTML.IndexOf ("end") - pageHTML.IndexOf ("start") - 5);
+                       Assert.AreEqual (true, pageHTML.Contains ("Merav"), "EditModePostback1");
+                       Assert.AreEqual (true, pageHTML.Contains ("CancelUpdateButton"), "EditModePostback2"); 
+
+                       // Cancel edited record postback
+                       fr = new FormRequest (t.Response, "form1");
+                       fr.Controls.Add ("__EVENTTARGET");
+                       fr.Controls.Add ("__EVENTARGUMENT");
+                       fr.Controls.Add ("FormView1$FNameEdit");
+                       fr.Controls.Add ("FormView1$LNameEdit");
+                       fr.Controls["FormView1$FNameEdit"].Value = "EditFirstName";
+                       fr.Controls["FormView1$LNameEdit"].Value = "EditLastName";
+                       fr.Controls["__EVENTTARGET"].Value = "FormView1$CancelUpdateButton";
+                       fr.Controls["__EVENTARGUMENT"].Value = "";
+                       t.Request = fr;
+                       pageHTML = t.Run ();
+                       newHtml = pageHTML.Substring (pageHTML.IndexOf ("start") + 5, pageHTML.IndexOf ("end") - pageHTML.IndexOf ("start") - 5);
+                       origHtml = @" <div>
+                                       &nbsp;
+                                        <table cellspacing=""0"" border=""0"" id=""FormView1"" style=""border-collapse:collapse;"">
+                                       <tr>
+                                       <td colspan=""2"">
+                                       <span id=""FormView1_ID"">1001</span>&nbsp;
+                                       <span id=""FormView1_LName"">Test</span>                
+                                       <span id=""FormView1_FName"">Merav</span>&nbsp;
+                                        <a id=""FormView1_EditButton"" href=""javascript:__doPostBack('FormView1$EditButton','')"">Edit</a>
+                                       <a id=""FormView1_NewButton"" href=""javascript:__doPostBack('FormView1$NewButton','')"">New</a>
+                                        <a id=""FormView1_DeleteButton"" href=""javascript:__doPostBack('FormView1$DeleteButton','')"">Delete</a>
+                                        </td>
+                                       </tr><tr>
+                                       <td colspan=""2""><table border=""0"">
+                                       <tr>
+                                       <td><span>1</span></td><td><a href=""javascript:__doPostBack('FormView1','Page$2')"">2</a></td><td><a href=""javascript:__doPostBack('FormView1','Page$3')"">3</a></td>
+                                       </tr>
+                                       </table></td>
+                                       </tr>
+                                       </table>     
+                                       </div>";
+                       HtmlDiff.AssertAreEqual (origHtml, newHtml, "CancelEditedRecordPostback");   
+                       
+               }
+
+               [Test]
+               [Category ("NotWorking")]
+               public void FormView_InsertPostback ()
+               {
+                       WebTest t = new WebTest ("FormViewInsertEditDelete.aspx");
+                       string pageHTML = t.Run ();
+                       Assert.AreEqual (true, pageHTML.Contains ("1001"), "BeforeInsert1");
+                       Assert.AreEqual (true, pageHTML.Contains ("Mahesh"), "BeforeInsert2");
+                       Assert.AreEqual (true, pageHTML.Contains ("Chand"), "BeforeInsert3");
+                       Assert.AreEqual (false, pageHTML.Contains ("Page$4"), "BeforeInsert4");
+                       FormRequest fr = new FormRequest (t.Response, "form1"); 
+                       fr.Controls.Add ("__EVENTTARGET");
+                       fr.Controls.Add ("__EVENTARGUMENT");                    
+                       fr.Controls["__EVENTTARGET"].Value = "FormView1$NewButton";
+                       fr.Controls["__EVENTARGUMENT"].Value = "";                                              
+                       t.Request = fr;
+                       pageHTML = t.Run ();
+                       string newHtml = pageHTML.Substring (pageHTML.IndexOf ("start") + 5, pageHTML.IndexOf ("end") - pageHTML.IndexOf ("start") - 5);
+                       string origHtml = @" <div>
+                       &nbsp;
+                       <table cellspacing=""0"" border=""0"" id=""FormView1"" style=""border-collapse:collapse;"">
+                       <tr>
+                       <td colspan=""2"">
+                       Insert ID:
+                        <input name=""FormView1$IDInsert"" type=""text"" id=""FormView1_IDInsert"" /><br />
+                       Insert First Name:
+                        <input name=""FormView1$FNameInsert"" type=""text"" id=""FormView1_FNameInsert"" />
+                       <br />
+                       Insert Last Name:&nbsp;
+                        <input name=""FormView1$LNameInsert"" type=""text"" id=""FormView1_LNameInsert"" />
+                       <a id=""FormView1_InsertButton"" href=""javascript:__doPostBack('FormView1$InsertButton','')"">Insert</a>
+                       <a id=""FormView1_CancelInsertButton"" href=""javascript:__doPostBack('FormView1$CancelInsertButton','')"">Cancel</a>
+                       </td>
+                       </tr>
+                       </table>   
+                        </div>";
+                       HtmlDiff.AssertAreEqual (origHtml, newHtml, "InsertPostback");
+
+                       //Insert new record
+
+                       fr = new FormRequest (t.Response, "form1");
+                       fr.Controls.Add ("__EVENTTARGET");
+                       fr.Controls.Add ("__EVENTARGUMENT");
+                       fr.Controls.Add ("FormView1$IDInsert");
+                       fr.Controls.Add ("FormView1$FNameInsert");
+                       fr.Controls.Add ("FormView1$LNameInsert");
+                       fr.Controls["FormView1$IDInsert"].Value = "33";
+                       fr.Controls["FormView1$FNameInsert"].Value = "InsertFirstName";
+                       fr.Controls["FormView1$LNameInsert"].Value ="InsertLastName";
+                       fr.Controls["__EVENTTARGET"].Value = "FormView1$InsertButton";
+                       fr.Controls["__EVENTARGUMENT"].Value = "";
+                       t.Request = fr;
+                       pageHTML = t.Run ();                    
+                       Assert.AreEqual (true, pageHTML.Contains ("1001"), "AfterInsert1");
+                       Assert.AreEqual (true, pageHTML.Contains ("Mahesh"), "AfterInsert2");
+                       Assert.AreEqual (true, pageHTML.Contains ("Chand"), "AfterInsert3");
+                       Assert.AreEqual (true, pageHTML.Contains ("Page$4"), "AfterInsert4");
+
+                       //Checking that the inserted record appears on page 4.
+
+                       fr = new FormRequest (t.Response, "form1");
+                       fr.Controls.Add ("__EVENTTARGET");
+                       fr.Controls.Add ("__EVENTARGUMENT");                    
+                       fr.Controls["__EVENTTARGET"].Value = "FormView1";
+                       fr.Controls["__EVENTARGUMENT"].Value = "Page$4";
+                       t.Request = fr;
+                       pageHTML = t.Run ();
+                       Assert.AreEqual (true, pageHTML.Contains ("33"), "AfterInsert1");
+                       Assert.AreEqual (true, pageHTML.Contains ("InsertLastName"), "AfterInsert2");
+                       Assert.AreEqual (true, pageHTML.Contains ("InsertFirstName"), "AfterInsert3");
+                       
+               }               
+
+               [Test]
+               [Category ("NotWorking")]
+               public void FormView_DeleteAndEmptyTemplatePostback ()
+               {
+                       WebTest t = new WebTest ("FormViewInsertEditDelete.aspx");
+                       string pageHTML = t.Run ();
+                       //Before Delete
+                       Assert.AreEqual (true, pageHTML.Contains ("1001"), "BeforeDelete1");
+                       Assert.AreEqual (true, pageHTML.Contains ("Mahesh"), "BeforeDelete2");
+                       Assert.AreEqual (true, pageHTML.Contains ("Chand"), "BeforeDelete3");
+                       Assert.AreEqual (true, pageHTML.Contains ("Page$3"), "BeforeDelete4");  
+                       //Delete First Item
+                       FormRequest fr = new FormRequest (t.Response, "form1");
+                       fr.Controls.Add ("__EVENTTARGET");
+                       fr.Controls.Add ("__EVENTARGUMENT");
+                       fr.Controls["__EVENTTARGET"].Value = "FormView1$DeleteButton";
+                       fr.Controls["__EVENTARGUMENT"].Value = "";
+                       t.Request = fr;
+                       pageHTML = t.Run ();                    
+                       Assert.AreEqual (true, pageHTML.Contains ("1002"), "AfterFirstDelete1");
+                       Assert.AreEqual (true, pageHTML.Contains ("Talmadge"), "AfterFirstDelete2");
+                       Assert.AreEqual (true, pageHTML.Contains ("Melanie"), "AfterFirstDelete3");
+                       Assert.AreEqual (true, pageHTML.Contains ("Page$2"), "AfterFirstDelete4");
+                       Assert.AreEqual (false, pageHTML.Contains ("Page$3"), "AfterFirstDelete5");
+
+                       //Delete second item
+
+                       fr = new FormRequest (t.Response, "form1");
+                       fr.Controls.Add ("__EVENTTARGET");
+                       fr.Controls.Add ("__EVENTARGUMENT");
+                       fr.Controls["__EVENTTARGET"].Value = "FormView1$DeleteButton";
+                       fr.Controls["__EVENTARGUMENT"].Value = "";
+                       t.Request = fr;
+                       pageHTML = t.Run ();
+                       Assert.AreEqual (true, pageHTML.Contains ("1003"), "AfterSecondDelete1");
+                       Assert.AreEqual (true, pageHTML.Contains ("Bansal"), "AfterSecondDelete2");
+                       Assert.AreEqual (true, pageHTML.Contains ("Vinay"), "AfterSecondDelete3");
+                       Assert.AreEqual (false, pageHTML.Contains ("Page$2"), "AfterSecondDelete4");    
+
+                       //Delete last item and checking that the EmptyDataTemplate appears.
+
+                       fr = new FormRequest (t.Response, "form1");
+                       fr.Controls.Add ("__EVENTTARGET");
+                       fr.Controls.Add ("__EVENTARGUMENT");
+                       fr.Controls["__EVENTTARGET"].Value = "FormView1$DeleteButton";
+                       fr.Controls["__EVENTARGUMENT"].Value = "";
+                       t.Request = fr;
+                       pageHTML = t.Run ();                    
+                       Assert.AreEqual (true, pageHTML.Contains ("FormView1_Label1"), "EmptyTemplateTest1"); 
+                       Assert.AreEqual (true, pageHTML.Contains ("The Database is empty"), "EmptyTemplateTest2");
+               }
+               
                
 
 
diff --git a/mcs/class/System.Web/Test/mainsoft/NunitWebResources/FormViewInsertEditDelete.aspx b/mcs/class/System.Web/Test/mainsoft/NunitWebResources/FormViewInsertEditDelete.aspx
new file mode 100644 (file)
index 0000000..877727c
--- /dev/null
@@ -0,0 +1,79 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyPage.aspx.cs" Inherits="MyPage" %>\r
+\r
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r
+\r
+<html xmlns="http://www.w3.org/1999/xhtml" >\r
+<head runat="server">\r
+    <title>Untitled Page</title>\r
+</head>\r
+\r
+<body>    \r
+<script runat="server">\r
+\r
+    protected void Page_Load (object sender, EventArgs e)\r
+    {\r
+        FormView1.DataKeyNames = new string[] { "ID" };\r
+         if (!IsPostBack)  \r
+            MonoTests.System.Web.UI.WebControls.DataObject.ds = MonoTests.System.Web.UI.WebControls.DataObject.CreateDataTable ();                       \r
+    }    \r
+    \r
+</script>\r
+    <form id="form1" runat="server"> \r
+    start   \r
+    <div>\r
+        &nbsp;\r
+        <asp:FormView ID="FormView1" runat="server" AllowPaging="True" DataSourceID="ObjectDataSource1"  >\r
+            <ItemTemplate>\r
+                <asp:Label ID="ID" runat="server" Text='<%# Eval("ID") %>' ></asp:Label>&nbsp;\r
+                <asp:Label ID="LName" runat="server" Text='<%# Eval("LName") %>'></asp:Label>                \r
+                <asp:Label ID="FName" runat="server" Text='<%# Eval("FName") %>'></asp:Label>&nbsp;\r
+                <asp:LinkButton ID="EditButton" runat="server" CommandName='<%# "Edit" %>' Text='<%# "Edit" %>'></asp:LinkButton>\r
+                <asp:LinkButton ID="NewButton" runat="server" CommandName='<%# "New" %>' Text='<%# "New" %>'></asp:LinkButton>\r
+                <asp:LinkButton ID="DeleteButton" runat="server" CommandName='<%# "Delete" %>' Text='<%# "Delete" %>'></asp:LinkButton>\r
+            </ItemTemplate>\r
+            <EditItemTemplate>                \r
+                Enter First Name:<asp:TextBox ID="FNameEdit" Text='<%# Bind("FName") %>' runat="server"></asp:TextBox><br />\r
+                Enter Last Name:<asp:TextBox ID="LNameEdit" runat="server" Text='<%# Bind("LName") %>'></asp:TextBox><br />\r
+                <asp:LinkButton ID="UpdateButton" runat="server" CommandName='<%# "Update" %>' Text='<%# "Update" %>'></asp:LinkButton>\r
+                <asp:LinkButton ID="CancelUpdateButton" runat="server" CommandName='<%# "Cancel" %>' Text='<%# "Cancel" %>'></asp:LinkButton>\r
+            </EditItemTemplate>\r
+            <InsertItemTemplate>\r
+                Insert ID:\r
+                <asp:TextBox ID="IDInsert" runat="server" Text='<%# Bind("ID") %>'></asp:TextBox><br />\r
+                Insert First Name:\r
+                <asp:TextBox ID="FNameInsert" runat="server" Text='<%# Bind("FName") %>'></asp:TextBox>\r
+                <br />\r
+                Insert Last Name:&nbsp;\r
+                <asp:TextBox ID="LNameInsert" runat="server" Text='<%# Bind("LName") %>'></asp:TextBox>\r
+                <asp:LinkButton ID="InsertButton" runat="server" CommandName='<%# "Insert" %>' Text='<%# "Insert" %>'></asp:LinkButton>\r
+                <asp:LinkButton ID="CancelInsertButton" runat="server" CommandName='<%# "Cancel" %>' Text='<%# "Cancel" %>'></asp:LinkButton>\r
+            </InsertItemTemplate>\r
+            <EmptyDataTemplate>\r
+                <asp:Label ID="Label1" runat="server" Text='<%# "The Database is empty" %>'></asp:Label>\r
+            </EmptyDataTemplate>\r
+        </asp:FormView>\r
+        <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" DeleteMethod="Delete"\r
+            InsertMethod="Insert" SelectMethod="Select" TypeName="MonoTests.System.Web.UI.WebControls.DataObject"\r
+            UpdateMethod="Update">\r
+            <DeleteParameters>\r
+                <asp:Parameter Name="ID" Type="String" />\r
+                <asp:Parameter Name="FName" Type="String" />\r
+                <asp:Parameter Name="LName" Type="String" />\r
+            </DeleteParameters>\r
+            <UpdateParameters>\r
+                <asp:Parameter Name="ID"  Type="String"/>\r
+                <asp:Parameter Name="FName" Type="String"/>\r
+                <asp:Parameter Name="LName" Type="String"/>\r
+            </UpdateParameters>\r
+            <InsertParameters>\r
+                <asp:Parameter Name="ID" Type="String" />\r
+                <asp:Parameter Name="FName" Type="String" />\r
+                <asp:Parameter Name="LName" Type="String" />\r
+            </InsertParameters>\r
+        </asp:ObjectDataSource>\r
+    \r
+    </div>\r
+    end\r
+    </form>\r
+</body>\r
+</html>\r