[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.
http://bugzilla.ximian.com/show_bug.cgi?id=81069
--- 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
+(string));
+ foreach (string id in handlers) {
+ IPostBackDataHandler pbdh = FindControl (id) as
+IPostBackDataHandler;
+ 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