URL mapping


Forum --> ASP.NET

Author Comment
Anonymous
URL mapping 12.02.2009 12:28:40
Hei,
Har bygd opp meny kontrollere som listes ut i en ul li liste. Blir en "ganske" lang

Eks!
Page.aspx?GroupID=1&menu_id=1&content_id=1&type=1

Er det mulig å benytte url mapping til å få kjørt ut en "vennlig url".

All data hentes ut fra databasen pg mappingen må være dynamisk.

Er det noen som har noen tips-/råd?

Mvh

Rune



Thor Halvor Frivold
RE:URL mapping 12.02.2009 13:00:25
når du velger å bruke parametre i url'en blir dem jo alltid så lange. et alternativ er jo legge dem med "skjult" i viewstate/sessionstate eller som post-parametre
Peter Lillevold
RE:URL mapping 12.02.2009 13:02:17
Du kan jo ta en kikk på System.Web.Routing (http://msdn.microsoft.com/en-us/library/system.web.routing.aspx).
Henrik Juhlin
RE:URL mapping 12.02.2009 15:11:42
URL Rewrite borde vara vad du letar efter. Det är ett grymt sätt att jobba med URL med QueryStrings och sedan gömma dem så de inte syns.

Här finns en bra video (och exempel kod som visar grunderna http://www.asp.net/Learn/videos/video-154.aspx

Jag
höll på med detta förra veckan, där jag byggde upp en visare för innehållet i subfolders. Detta är inte den renaste koden, eftersom det bara skulle vara en temporär grej, men den fungerar bra Smiley

HttpApplication app = (HttpApplication)sender;
string url = app.Request.RawUrl;
if (url.Contains("Default.aspx"))
{
url = url.Replace(ConfigurationManager.AppSettings["URL"] , "");
url = url.Replace("Default.aspx", "");
app.Context.RewritePath("~/Default.aspx", "", "Folder=" + url);
}

Så vad den gör är att den kollar i URLen, t.ex.
http://localhost/folder/subfolder/subsubfolder/Default.asxp (Detta är URLen som besökaren ser)
Sedan så byter den ut den till en URL med querystrings, men detta sker bara på servern, så inget användaren / clienten ser alls. Så nya URLen blir
http://localhost/Default.asxp?Folder=folder/subfolder/subsubfolder/
och sedan i Default.asxp så kan jag läsa in QueryStringen helt normal

DirectoryInfo directoryInfo = new DirectoryInfo(Server.MapPath(Request.QueryString["Folder"]));

Ett sätt som jag använt det förr är med DotNetNukes inbyggda hanterare.
Då jag skulle ha en lista på Företag och skrev dit min sökväg så här

/Företagslista/tabid/101/Name/Mittföretag/CompanyId/12/Default.aspx
Då får man med både namnet och idet på företaget och länken blir anpassad för sökmotorer Smiley
DNN gör då om den till

Default.aspx?TabId=101&Name=Mittföretag&CompanyId=12 (TabId är DNNs egna parameter)

Hoppas detta hjälper något Smiley





Peter Lillevold
RE:URL mapping 13.02.2009 13:32:32
Folkens,

System.Web.Routing kan benyttes til å gjøre URL rewriting på en ganske elegant måte.

Se feks http://chriscavanagh.wordpress.com/2008/03/11/aspnet-routing-goodbye-url-rewriting

Note: System.Web.Routing er del av .Net Framework 3.5.
Anonymous
RE:URL mapping 18.02.2009 00:07:38
Hei,

Takk for mange gode råd.

Run
Svein Helge Grinden
RE:URL mapping 20.02.2009 22:21:13
Nyttig info om URL rewriting

" http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx "

Open Source Rewriting rammeverk:
" http://www.urlrewriting.net/149/en/home.html "


Copyright (C) 2006 Norwegian .NET User Group
  Powered by EPiServer