protected void btnSave_OnClick(object sender, EventArgs e) { //Create a value provider from this page. //Values will be derived from controls on this page that match property names on the model. IWFValueProvider provider = new WFPageControlsValueProvider(this, ""); //Update the model from the provider: WFPageUtilities.UpdateModel(provider, Model, "", null, null); Model.Save(); Response.Redirect("~/Default.aspx"); }
public void ApplyModelToPage_MultipleTests() { TestParticipantClass testPart = new TestParticipantClass(); testPart.FirstName = "John"; testPart.LastName = "Doe"; testPart.BirthDate = null; Page px = new Page(); px.Controls.Add(new TextBox() { ID = "FirstName" }); px.Controls.Add(new TextBox() { ID = "LastName" }); px.Controls.Add(new TextBox() { ID = "BirthDate" }); WebControlUtilities.ApplyModelToPage(px, testPart); TextBox txtFirstName = (TextBox)px.FindControl("FirstName"); TextBox txtLastName = (TextBox)px.FindControl("LastName"); TextBox txtBirthDate = (TextBox)px.FindControl("BirthDate"); Assert.AreEqual(testPart.FirstName, txtFirstName.Text); Assert.AreEqual(testPart.LastName, txtLastName.Text); //BirthDate is null, so we expect blank Assert.AreEqual("", txtBirthDate.Text); txtFirstName.Text = "Jack"; txtLastName.Text = "Sparrow"; txtBirthDate.Text = "1/1/2001"; TestParticipantClass part2 = new TestParticipantClass(); WFPageControlsValueProvider valueProvider = new WFPageControlsValueProvider(px, ""); WFPageUtilities.UpdateModel(valueProvider, part2, "", null, null); Assert.AreEqual("Jack", part2.FirstName); Assert.AreEqual("Sparrow", part2.LastName); Assert.AreEqual(DateTime.Parse("1/1/2001"), part2.BirthDate); }
protected void btnSubmit_OnClick(object sender, EventArgs e) { //The WebFu:DataAnnotationValidatorControl uses built-in Web Forms //validation and will fire automatically. if (Page.IsValid) { //If validation succeeded, update the model from the controls on the page: WFPageControlsValueProvider provider = new WFPageControlsValueProvider(this, ""); WFPageUtilities.UpdateModel(provider, Model, "", null, null); WFPageUtilities.UpdateModel(provider, Model.Login, "", null, null); WFPageUtilities.UpdateModel(provider, Model.Address, "", null, null); Model.Save(); Response.Redirect("~/Registration/RegistrationThanks.aspx"); } }
public void ApplyModelToPage_ListBoxDropDownAdditionalTests() { ListBox lbItems = new ListBox() { ID = "Inventory" }; lbItems.Items.Add(new ListItem() { Text = "Item1", Value = "1" }); lbItems.Items.Add(new ListItem() { Text = "Item2", Value = "2" }); lbItems.Items.Add(new ListItem() { Text = "Item3", Value = "3" }); lbItems.Items.Add(new ListItem() { Text = "Item4", Value = "4" }); DropDownList ddlItems = new DropDownList() { ID = "LuckyPhrases" }; ddlItems.Items.Add(new ListItem() { Text = "Phrase1", Value = "A lucky man" }); ddlItems.Items.Add(new ListItem() { Text = "Phrase2", Value = "Good fortune" }); ddlItems.Items.Add(new ListItem() { Text = "Phrase3", Value = "Rich and wealthy" }); ddlItems.Items.Add(new ListItem() { Text = "Phrase4", Value = "Excellent health" }); ListBox lbGroups = new ListBox() { ID = "ParticipantGroupID" }; lbGroups.Items.Add(new ListItem() { Text = "Admin", Value = "1" }); lbGroups.Items.Add(new ListItem() { Text = "Judge", Value = "2" }); lbGroups.Items.Add(new ListItem() { Text = "User", Value = "3" }); lbGroups.Items.Add(new ListItem() { Text = "Outsider", Value = "4" }); Page px = new Page(); //px.Controls.Add(lbItems); //px.Controls.Add(ddlItems); px.Controls.Add(lbGroups); lbGroups.Items[2].Selected = true; //Pull selected values into participant TestParticipantClass testPart = new TestParticipantClass(); WFPageControlsValueProvider valueProvider = new WFPageControlsValueProvider(px, ""); WFPageUtilities.UpdateModel(valueProvider, testPart, "", null, null); Assert.AreEqual(3, testPart.ParticipantGroupID); //Apply null values to null collections WebControlUtilities.ApplyModelToPage(px, testPart); Assert.IsNull(testPart.LuckyPhrases, null); Assert.IsNull(testPart.Inventory, null); //Apply null values to non-null collections testPart.LuckyPhrases = new string[] { "A lucky man", "Rich and wealthy" }; testPart.Inventory = new List <TestInventoryObject>(); WebControlUtilities.ApplyModelToPage(px, testPart); Assert.IsNotNull(testPart.Inventory); Assert.AreEqual(0, testPart.Inventory.Count); Assert.AreEqual(2, testPart.LuckyPhrases.Length); //Apply select one value lbItems.Items[2].Selected = true; ddlItems.Items[2].Selected = true; WebControlUtilities.ApplyModelToPage(px, testPart); }