[WARNING : A/V UNSCANNABLE] RE: [Mono-dev]System.Web.UI.Pagepatch
Chris Toshok
toshok at ximian.com
Thu May 4 12:45:33 EDT 2006
That patch looks good. Please commit.
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