public void FormView_DataKey () { Page p = new Page (); Poker fv = new Poker (); p.Controls.Add (fv); ObjectDataSource data = new ObjectDataSource (); data.TypeName = typeof (FormViewDataObject).AssemblyQualifiedName; data.SelectMethod = "Select"; p.Controls.Add (data); fv.DataSource = data; fv.DataKeyNames = new string [] { "ID", "FName" }; DataKey key1 = fv.DataKey; Assert.AreEqual (null, key1.Value, "DataKey.Value before binding"); Assert.AreEqual (0, key1.Values.Count, "DataKey.Values count before binding"); fv.DataBind (); DataKey key2 = fv.DataKey; DataKey key3 = fv.DataKey; Assert.IsFalse (Object.ReferenceEquals (key1, key2), "DataKey returns the same instans"); Assert.IsTrue (Object.ReferenceEquals (key2, key3), "DataKey returns the same instans"); Assert.AreEqual (1001, key1.Value, "DataKey.Value after binding"); Assert.AreEqual (2, key1.Values.Count, "DataKey.Values count after binding"); Assert.AreEqual (1001, key1.Values [0], "DataKey.Values[0] after binding"); Assert.AreEqual ("Mahesh", key1.Values [1], "DataKey.Values[1] after binding"); Poker copy = new Poker (); object state = fv.DoSaveControlState (); copy.DoLoadControlState (state); DataKey key4 = copy.DataKey; Assert.AreEqual (1001, key4.Value, "DataKey.Value from ViewState"); Assert.AreEqual (2, key4.Values.Count, "DataKey.Values count from ViewState"); Assert.AreEqual (1001, key4.Values [0], "DataKey.Values[0] from ViewState"); Assert.AreEqual ("Mahesh", key4.Values [1], "DataKey.Values[1] from ViewState"); }
public void FormView_ControlState () { Poker fv = new Poker (); Poker copy = new Poker (); string[] keys = new String[2]; keys[0] = "key1"; keys[1] = "key2"; fv.DataKeyNames = keys; fv.BackImageUrl = "photo.jpg"; fv.DefaultMode = FormViewMode.Insert ; fv.ChangeMode (FormViewMode.Edit); object state = fv.DoSaveControlState (); copy.DoLoadControlState (state); Assert.AreEqual (2, copy.DataKeyNames.Length, "DataKeyNames.Length"); Assert.AreEqual ("key1", copy.DataKeyNames[0], "ControlStateDataKeyValue"); Assert.AreEqual ("key2", copy.DataKeyNames[1], "ControlStateDataKeyValue2"); Assert.AreEqual (FormViewMode.Insert, copy.DefaultMode, "ControlStateDefaultMode"); Assert.AreEqual (FormViewMode.Edit, copy.CurrentMode, "ControlStateCurrentMode"); }