Session Object & Link Navigation

Discussion in 'ASP .Net Mobile' started by Alex Maghen, May 22, 2007.

  1. Alex Maghen

    Alex Maghen Guest

    I'm building an ASP.NET Mobile Web application that uses Session. Because I
    am also doing FormsAuthentication, I've set up my Web.Config with certain
    settings I read I should use. It looks like:

    <system.web>
    <compilation debug="true"/>
    <authentication mode="Forms">
    <forms loginUrl="~/Login/Default.aspx"
    name="HomoMoAuth" timeout="10" path="/">
    </forms>

    </authentication>
    <authorization>
    <allow users="*"/>
    </authorization>

    <sessionState
    mode="InProc" cookieless="true" timeout="20"
    />

    <httpRuntime useFullyQualifiedRedirectUrl="true" />

    <mobileControls
    cookielessDataDictionaryType="System.Web.Mobile.CookielessData" />

    </system.web>


    ANYWAY, here's my problem: It seems that, maybe, because of the
    "useFullyQualifiedRedirectUrl" or something, I can't really use the "~" in my
    Link Paths. If I do, I loose my Session object. Can someone help me
    understand how/if I can still use the "~"? I like it!
     
    Alex Maghen, May 22, 2007
    #1
    1. Advertising

  2. Hi Alex,

    It's related to the cookieless session:

    <quote>
    #ASP.NET Web Site Paths
    http://msdn2.microsoft.com/en-us/library/ms178116.aspx
    Note

    For mobile pages only, if your application relies on cookieless sessions or
    might receive requests from mobile devices that require cookieless
    sessions, using a tilde ("~") in a path can result in inadvertently
    creating a new session and potentially losing session data. To set a
    property on a mobile control with a path that includes a tilde (such as
    "~/path"), resolve the path using the ResolveUrl method before assigning it
    to the property.
    </quote>

    Hope this helps.


    Regards,
    Walter Wang (, remove 'online.')
    Microsoft Online Community Support

    ==================================================
    When responding to posts, please "Reply to Group" via your newsreader so
    that others may learn and benefit from your issue.
    ==================================================

    This posting is provided "AS IS" with no warranties, and confers no rights.
     
    Walter Wang [MSFT], May 23, 2007
    #2
    1. Advertising

  3. Alex Maghen

    Alex Maghen Guest

    Walter -

    Thanks for this. It *does* seem to improve things somewhat. Now I have
    another related question: Let's say I want to create my own Link control
    which will automatically perform this ResolveUrl() function and also will do
    some other things to alter the standard <mobile:link> control. If my new
    control is defined as

    public partial class AxMobileLink : System.Web.UI.MobileControls.Link

    Is there a way that I can sort of automatically support all of the
    properties and methods exposed by the constituent <mobile:Link? without
    writing my own proerty and function overriding each one which does nothing
    but call the base?

    Ax




    "Walter Wang [MSFT]" wrote:

    > Hi Alex,
    >
    > It's related to the cookieless session:
    >
    > <quote>
    > #ASP.NET Web Site Paths
    > http://msdn2.microsoft.com/en-us/library/ms178116.aspx
    > Note
    >
    > For mobile pages only, if your application relies on cookieless sessions or
    > might receive requests from mobile devices that require cookieless
    > sessions, using a tilde ("~") in a path can result in inadvertently
    > creating a new session and potentially losing session data. To set a
    > property on a mobile control with a path that includes a tilde (such as
    > "~/path"), resolve the path using the ResolveUrl method before assigning it
    > to the property.
    > </quote>
    >
    > Hope this helps.
    >
    >
    > Regards,
    > Walter Wang (, remove 'online.')
    > Microsoft Online Community Support
    >
    > ==================================================
    > When responding to posts, please "Reply to Group" via your newsreader so
    > that others may learn and benefit from your issue.
    > ==================================================
    >
    > This posting is provided "AS IS" with no warranties, and confers no rights.
    >
    >
     
    Alex Maghen, Jun 1, 2007
    #3
  4. Alex Maghen

    Alex Maghen Guest

    Walter -

    I am now confused a little further. Let's say I want to place two links on a
    Mobile form with the Web.config settings I defined below. The links are as
    follows:

    1. ~/Default.aspx
    2. SomeFolder/Default.aspx

    You recommended that I user ResolveURL() on these paths before placing them
    in the NavigateURL field of the <mobile:Link> control. The problem is, if I
    do that for #1 above, it works fine. But if I do it for #2, it doesn't behave
    properly. How am I supposed to know when to use ResolveURL and when now?

    Alex


    "Alex Maghen" wrote:

    > Walter -
    >
    > Thanks for this. It *does* seem to improve things somewhat. Now I have
    > another related question: Let's say I want to create my own Link control
    > which will automatically perform this ResolveUrl() function and also will do
    > some other things to alter the standard <mobile:link> control. If my new
    > control is defined as
    >
    > public partial class AxMobileLink : System.Web.UI.MobileControls.Link
    >
    > Is there a way that I can sort of automatically support all of the
    > properties and methods exposed by the constituent <mobile:Link? without
    > writing my own proerty and function overriding each one which does nothing
    > but call the base?
    >
    > Ax
    >
    >
    >
    >
    > "Walter Wang [MSFT]" wrote:
    >
    > > Hi Alex,
    > >
    > > It's related to the cookieless session:
    > >
    > > <quote>
    > > #ASP.NET Web Site Paths
    > > http://msdn2.microsoft.com/en-us/library/ms178116.aspx
    > > Note
    > >
    > > For mobile pages only, if your application relies on cookieless sessions or
    > > might receive requests from mobile devices that require cookieless
    > > sessions, using a tilde ("~") in a path can result in inadvertently
    > > creating a new session and potentially losing session data. To set a
    > > property on a mobile control with a path that includes a tilde (such as
    > > "~/path"), resolve the path using the ResolveUrl method before assigning it
    > > to the property.
    > > </quote>
    > >
    > > Hope this helps.
    > >
    > >
    > > Regards,
    > > Walter Wang (, remove 'online.')
    > > Microsoft Online Community Support
    > >
    > > ==================================================
    > > When responding to posts, please "Reply to Group" via your newsreader so
    > > that others may learn and benefit from your issue.
    > > ==================================================
    > >
    > > This posting is provided "AS IS" with no warranties, and confers no rights.
    > >
    > >
     
    Alex Maghen, Jun 2, 2007
    #4
  5. Hi Alex,

    Please try following approach:

    public class Class1 : Link
    {
    protected override void OnPreRender(EventArgs e)
    {
    NavigateUrl = Page.ResolveUrl(NavigateUrl);
    base.OnPreRender(e);
    }
    }


    Using this customized Link control will make sure it calls ResolveUrl
    before displaying the hyperlink.

    Let me know if this works for you.


    Regards,
    Walter Wang (, remove 'online.')
    Microsoft Online Community Support

    ==================================================
    When responding to posts, please "Reply to Group" via your newsreader so
    that others may learn and benefit from your issue.
    ==================================================

    This posting is provided "AS IS" with no warranties, and confers no rights.
     
    Walter Wang [MSFT], Jun 4, 2007
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Framework fan

    Curious link button navigation problem

    Framework fan, Mar 6, 2004, in forum: ASP .Net
    Replies:
    4
    Views:
    414
    Scott Allen
    Mar 8, 2004
  2. Kevin Spencer

    Re: Link Link Link DANGER WILL ROBINSON!!!

    Kevin Spencer, May 17, 2005, in forum: ASP .Net
    Replies:
    0
    Views:
    944
    Kevin Spencer
    May 17, 2005
  3. Replies:
    1
    Views:
    886
  4. momo898
    Replies:
    2
    Views:
    518
    bruce barker \(sqlwork.com\)
    Oct 12, 2006
  5. Laurahn
    Replies:
    3
    Views:
    935
    Steven Cheng[MSFT]
    Feb 6, 2007
Loading...

Share This Page