Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Get TabId from URLGet TabId from URL
Previous
 
Next
New Post
12/6/2006 12:05 PM
 

 

Ahhh, I see.  Well, here's a little Regex to make your function a one liner:

TabId = Regex.Match(Url, "tabid[=/](\d+)(.*?)", RegexOptions.IgnoreCase).Groups(1).Value


DotNetNuke Modules from Snapsis.com
 
New Post
12/6/2006 12:09 PM
 
Whoa!  Thanks!  That is incredibly kind of you.  I was just looking at the SiteUrl.config file trying to make since of those RegEx examples.  :)

Will that work with both friendly and non-friendly URLs? 

I apologize for having to ask that.  I haven't been able to code since March, so my knowledge on RegEx has diminished a lot.  :(

Will Strohl

Upendo Ventures Upendo Ventures
DNN experts since 2003
Official provider of the Hotcakes Commerce Cloud and SLA support
 
New Post
12/6/2006 12:34 PM
 

You're welcome Will, my pleasure.

Yes, it will work with both, the [/&] in the Regex is a character class that says "look for a slash or an ampersand right after the tabid.  The \d+ part says look for digits [0-9].

I actually went a little overboard by doing the second backreference group, this one is more to the point:

TabId = Regex.Match(Url, "tabid[=/](\d+)", RegexOptions.IgnoreCase).Groups(1).Value

Here's the full explanation from RegEx Buddy:

Match the characters "tabid" literally «tabid»
Match a single character present in the list "=/" «[=/]»
Match the regular expression below and capture its match into backreference number 1 «(\d+)»
   Match a single digit 0..9 «\d+»
      Between one and unlimited times, as many times as possible, giving back as needed (greedy) «+»

 


DotNetNuke Modules from Snapsis.com
 
New Post
12/8/2006 2:36 PM
 
John, Thank you again for your help.  It was more than I expected.  So far, this is working like I wanted.

To everyone else, just in case you are looking to do something similar to what I needed, here is the resulting function:

Private Function GetTabInformation(ByVal TabUrl As String) As DotNetNuke.Entities.Tabs.TabInfo

    TabUrl = TabUrl.ToLower

    Dim _TabId As Integer = 0
    Dim _tc As New DotNetNuke.Entities.Tabs.TabController

    If TabUrl.IndexOf("tabid") > 0 Then

        _TabId = Integer.Parse(Regex.Match(TabUrl, "tabid[=/](\d+)", RegexOptions.IgnoreCase).Groups(1).Value)

        Return _tc.GetTab(_TabId)

    Else

        Return Nothing

    End If

End Function

Will Strohl

Upendo Ventures Upendo Ventures
DNN experts since 2003
Official provider of the Hotcakes Commerce Cloud and SLA support
 
Previous
 
Next
HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Get TabId from URLGet TabId from URL


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out