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
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 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
|
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