Context.RewritePath and master pages

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Keef

    Context.RewritePath and master pages

    Hiya...

    just wondering if anyone else has come across this problem, and if there is
    a solution...

    i'm writing a reasonably simple IHttpModule to rewrite URLs ...

    in the BeginRequest event i do a app.Context.Rew ritePath("~/"+theFile,false )
    to the aspx file to display the content, then in the
    PreRequestHandl erExecute i do another RewritePath so that all the relative
    links (css, images, postabcks, ajax etc..) find thier correct locations...

    this works fine, as long as the aspx page is not inside a master page...

    when the aspx page uses a master page, the RewritePath only fixes the
    relative links contained in the master page and all the relative paths in
    the content page don't change!!

    is this a bug? or am i missing something?

    any help is much appreciated..

    thanks k

  • =?ISO-8859-1?Q?G=F6ran_Andersson?=

    #2
    Re: Context.Rewrite Path and master pages

    Keef wrote:
    Hiya...
    >
    just wondering if anyone else has come across this problem, and if there
    is a solution...
    >
    i'm writing a reasonably simple IHttpModule to rewrite URLs ...
    >
    in the BeginRequest event i do a
    app.Context.Rew ritePath("~/"+theFile,false ) to the aspx file to display
    the content, then in the PreRequestHandl erExecute i do another
    RewritePath so that all the relative links (css, images, postabcks, ajax
    etc..) find thier correct locations...
    >
    this works fine, as long as the aspx page is not inside a master page...
    >
    when the aspx page uses a master page, the RewritePath only fixes the
    relative links contained in the master page and all the relative paths
    in the content page don't change!!
    >
    is this a bug? or am i missing something?
    >
    any help is much appreciated..
    >
    thanks k
    The RewritePath doesn't change any links at all, neither in the master
    page nor the content page. It changes the requests, and those are the
    same regardless if they come from code that was generated by the master
    page or the content page. The browser doesn't even know the difference.

    I think that your problem is that the URLs that you put in your code is
    resolved from the path of the source file instead of the path that is
    used to request the page.

    I recently deployed URL rewriting on a site, and that involves a
    completely different way of handling the URLs in the site. The built-in
    methods in ASP.NET for resolving URLs are totally thrown off, and you
    have to take complete control over how the URLs are created. I even had
    to add code to change the URL that is placed in the action property of
    the form tag, because ASP.NET can't even make a postback any more.

    --
    Göran Andersson
    _____
    Göran Anderssons privata hemsida.

    Comment

    Working...