[WARNING : A/V UNSCANNABLE] RE: [Mono-dev]System.Web.UI.Pagepatch

Chris Toshok toshok at ximian.com
Thu May 4 13:42:45 EDT 2006


I wasn't running the test case on xsp at all.  This was with IIS.

also, the stack trace is interesting in that they're obviously using
generics in asp.net 2.0.

Chris

On Thu, 2006-05-04 at 00:23 -0700, Andrew Skiba wrote:
> I see. Sorry you did not write if the patch causes the problems, or
> unpatched XSP also fails. Can you at least test Page.Web.Config.patch?
> This patch waits almost 2 weeks. It allows to assign the default theme
> or stylesheet theme for all pages in web.config. In the mean time I will
> see what's the problem with the testcase.
> 
> Thank you.
> Andrew.
> 
> > -----Original Message-----
> > From: Chris Toshok [mailto:toshok at ximian.com] 
> > Sent: Monday, May 01, 2006 20:45
> > To: Andrew Skiba
> > Cc: mono-devel-list at lists.ximian.com
> > Subject: RE: [WARNING : A/V UNSCANNABLE] RE: 
> > [Mono-dev]System.Web.UI.Pagepatch
> > 
> > I have yet to successfully test your patch.  Hacking it 
> > together on windows gets me this (this is without using your 
> > custom controls.  just the vanilla Default/master page):
> > 
> > [HttpException (0x80004005): Login1: LayoutTemplate does not 
> > contain an IEditableTextControl with ID UserName for the username.]
> >    
> > System.Web.UI.WebControls.GenericContainer`1.FindControl(Strin
> > g id, Boolean required, String errorResourceKey) +1716147
> >    System.Web.UI.WebControls.Login.get_UserNameInternal() +91
> >    System.Web.UI.WebControls.Login.SetEditableChildProperties() +26
> >    System.Web.UI.WebControls.Login.CreateChildControls() +179
> >    System.Web.UI.Control.EnsureChildControls() +87
> >    System.Web.UI.Control.PreRenderRecursiveInternal() +41
> >    System.Web.UI.Control.PreRenderRecursiveInternal() +161
> >    System.Web.UI.Control.PreRenderRecursiveInternal() +161
> >    System.Web.UI.Control.PreRenderRecursiveInternal() +161
> >    System.Web.UI.Control.PreRenderRecursiveInternal() +161
> >    System.Web.UI.Control.PreRenderRecursiveInternal() +161
> >    System.Web.UI.Control.PreRenderRecursiveInternal() +161
> >    System.Web.UI.Page.ProcessRequestMain(Boolean 
> > includeStagesBeforeAsyncPoint, Boolean 
> > includeStagesAfterAsyncPoint) +1360
> > 
> > Chris
> > 
> > On Sat, 2006-04-29 at 23:16 -0700, Andrew Skiba wrote:
> > >  Hello, Chris.
> > > 
> > > So can I commit these patches yet?
> > > 
> > > Thank you.
> > > Andrew.
> > > 
> > > > -----Original Message-----
> > > > From: Chris Toshok [mailto:toshok at ximian.com]
> > > > Sent: Tuesday, April 25, 2006 20:51
> > > > To: Andrew Skiba
> > > > Cc: mono-devel-list at lists.ximian.com
> > > > Subject: Re: [WARNING : A/V UNSCANNABLE] RE: [Mono-dev] 
> > > > System.Web.UI.Pagepatch
> > > > 
> > > > On Tue, 2006-04-25 at 02:16 -0700, Andrew Skiba wrote:
> > > > > > I'd like to see the test used for this as well.
> > > > > 
> > > > > Did you see the standalone test that I sent yesterday? For 
> > > > > convenience, I attach it to this message, too. It covers
> > > > the following patches:
> > > > > 
> > > > > ApplyTheme.patch
> > > > > Page.Web.Config.patch
> > > > > PageTheme.patch
> > > > > 
> > > > > > At first blush the theme change looks ok, but I really don't 
> > > > > > like the idea of adding the ApplyTheme behavior to OnInit.
> > > > > > Unless, of course, this is what actually happens in MS's 
> > > > > > implementation.
> > > > > 
> > > > > It's not OnInit, it's in CreateChildControls flow. To
> > > > figure that out
> > > > > in MS implementation I made this:
> > > > 
> > > > ah, sorry - I wasn't looking at the line numbers, I just searched 
> > > > for the surrounding patch context.
> > > > 
> > > > > 	public class MyLogin:Login
> > > > > 	{
> > > > > 		protected override void OnInit (EventArgs e)
> > > > > 		{
> > > > > 			Trace.WriteLine ("before Login.OnInit");
> > > > > 			base.OnInit (e);
> > > > > 			Trace.WriteLine ("after Login.OnInit");
> > > > > 		}
> > > > > 		protected override void AddedControl
> > > > (System.Web.UI.Control control,
> > > > > int index)
> > > > > 		{
> > > > > 			Trace.WriteLine ("before 
> > Login.AddedControl");
> > > > > 			base.AddedControl (control, index);
> > > > > 			Trace.WriteLine ("after 
> > Login.AddedControl");
> > > > > 		}
> > > > > 
> > > > > 		protected override void  CreateChildControls()
> > > > > 		{
> > > > > 			Trace.WriteLine ("before
> > > > > Login.CreateChildControls");
> > > > > 			base.CreateChildControls ();
> > > > > 			Trace.WriteLine ("after
> > > > > Login.CreateChildControls");
> > > > > 		}
> > > > > 	}
> > > > > 
> > > > > 	public class MyImageButton:ImageButton
> > > > > 	{
> > > > > 		protected override void OnInit (EventArgs e)
> > > > > 		{
> > > > > 			Trace.WriteLine ("ImageButton.OnInit");
> > > > > 			base.OnInit (e);
> > > > > 		}
> > > > > 		public override void ApplyStyleSheetSkin
> > > > (System.Web.UI.Page page)
> > > > > 		{
> > > > > 			Trace.WriteLine
> > > > > ("ImageButton.ApplyStyleSheetSkin");
> > > > > 			base.ApplyStyleSheetSkin (page);
> > > > > 		}
> > > > > 
> > > > > 		public override string ImageUrl
> > > > > 		{
> > > > > 			get
> > > > > 			{
> > > > > 				return base.ImageUrl;
> > > > > 			}
> > > > > 			set
> > > > > 			{
> > > > > 				Trace.WriteLine ("Set
> > > > > ImageButton.ImageURL");
> > > > > 				base.ImageUrl = value;
> > > > > 			}
> > > > > 		}
> > > > > 	}
> > > > > 	
> > > > > and changed in aspx <asp:login> and <asp:imagebutton> to
> > > > <my:MyLogin>
> > > > > and <my:MyImageButton>
> > > > > 
> > > > > the output looked like:
> > > > > 
> > > > > before Login.OnInit
> > > > > after Login.OnInit
> > > > > before Login.CreateChildControls
> > > > > ImageButton.ApplyStyleSheetSkin  	
> > > > > Set ImageButton.ImageURL		
> > > > > before Login.AddedControl
> > > > > ImageButton.OnInit
> > > > > after Login.AddedControl
> > > > > after Login.CreateChildControls
> > > > > 
> > > > > > 
> > > > > > Also, the master page change doesn't seem necessary to me, in 
> > > > > > the scope of the greater change. The controls will have their 
> > > > > > OnInit methods's called properly when they're added to the
> > > > already Init'ed
> > > > > > controls.
> > > > > 
> > > > > If you do ApplyMasterPage after InitRecursive, then
> > > > elements defined
> > > > > on master page do not get their themes. Just try the
> > > > standalone test I
> > > > > sent, the difference is clear.
> > > > 
> > > > My comment was made under the assumption that the ApplyTheme call 
> > > > was in OnInit (as above.)
> > > > 
> > > > I'll take a look at this further tonight probably.
> > > > 
> > > > Chris
> > > > 
> > > _______________________________________________
> > > Mono-devel-list mailing list
> > > Mono-devel-list at lists.ximian.com
> > > http://lists.ximian.com/mailman/listinfo/mono-devel-list
> > 
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list



More information about the Mono-devel-list mailing list