[Mono-bugs] [Bug 81069][Wis] Changed - Fails on PostBack when HtmlTextArea is located in Dynamically Loaded Control

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Wed Mar 28 22:55:14 EDT 2007

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by seanhig at geminibay.com.


--- shadow/81069	2007-03-28 13:47:36.000000000 -0500
+++ shadow/81069.tmp.11444	2007-03-28 21:55:14.000000000 -0500
@@ -71,6 +71,40 @@
 the latest do not cause the error either. I have not been able to pin down what the specific 
 issue is yet, as the error is worthless, and generated in an inaccessible method in the 
 Page.  I assume it is having trouble locating the HtmlTextArea from the loaded control(s), 
 but I will have to build and instrument Mono itself to have a clue where and why.  Ugh.
 Hopefully that has gotten easier on the mactel since the early days.
+------- Additional Comments From seanhig at geminibay.com  2007-03-28 21:55 -------
+In the 2nd pass of ProcessPostData, the secondData collection is NULL, yet 
+_requiresPostBackCopy contains several ID entries for the HtmlTextArea and 
+HtmlInputText controls (despite the fact there are every type of control on the form, 
+dropdown, radiobutton, etc, only these are affected by this).
+For some reason in the Page.LoadPostData at the point it calls the handler in the 
+_requiresPostBackCopy iteration of control ids, the data variable is NULL, and this causes 
+the error in the controls.LoadPostData, because the control is not expecting to be passed a 
+null Hashtable.
+		if (_requiresPostBackCopy != null && _requiresPostBackCopy.Count > 0) {
+			string [] handlers = (string []) _requiresPostBackCopy.ToArray (typeof 
+			foreach (string id in handlers) {
+				IPostBackDataHandler pbdh = FindControl (id) as 
+				if (pbdh != null) {			
+					_requiresPostBackCopy.Remove (id);
+					// data is NULL here!!!
+if (pbdh.LoadPostData (id, data)) {
+							if (requiresPostDataChanged == null)
+								requiresPostDataChanged = new ArrayList ();
+							requiresPostDataChanged.Add (pbdh);
+						}
+		...
+It is easy to get lost in there, I still have no idea why the postbackdata hashtable being 
+passed is null.  All I know so far is that this only happens in Mono (not in IIS w/ .NET 1.0, 
+1.1 or 2.0), and only on Mono version > 1.2

More information about the mono-bugs mailing list