Eftersom jag precis gått från 2003 till 2005 tänkte jag kolla med er som kan :) I .net 2.0 skall man helst använda sig utav HttpModules istf. att lägga saker i global. Jag har använt http://www.urlrewriter.net/ i några projekt och det fungerar klockrent och är open source. Vältestat och hanterar postbacks korrekt. Är du inte väldigt angelägen att skriva något eget så borde det vara svårt att motstå.Rewrite i global är detta rätt?
Jag bygger en webbapplikation som sedvanligt tar Page=usercontrolnamn&ID=whatever&Etc=1234
Har kommit över denna rewrite till global och funderar över om är dels funktionell så jag inte springer på ett hinder framåt och hur blir det med postbacks etc? Samt hur ser sökmotorerna på detta?
<code>
Protected Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
Dim incoming As HttpContext = HttpContext.Current
Dim oldpath As String = incoming.Request.Path.ToLower() '//skickar in usercontrolnamn.aspx
Dim strCurrentPath As String
Dim strCustomPath As String
strCurrentPath = oldpath.ToLower
'//Tar bort .aspx, kvar är namnet på usercontrollen
strCurrentPath = Replace(strCurrentPath, ".aspx", "").Trim
If Not strCurrentPath.Contains("default") Then
strCustomPath = "default.aspx?Page=" + strCurrentPath
Context.RewritePath(strCustomPath)
Else
Context.RewritePath(oldpath)
End If
End Sub
</code>
Note: verkar inte fungera tillfredsställande, men håller tråden öppen ett tag ..Sv: Rewrite i global är detta rätt?
Läs mer på:
http://www.15seconds.com/issue/020417.htm
Det generella problemet med rewrites i .net 2.0 är just postbacks, det är lite klurigt att lösa det men det är inte omöjligt.
Här har du ett lösningsförslag:
http://forums.asp.net/858605/ShowPost.aspxSv:Rewrite i global är detta rätt?
/AndreasSv: Rewrite i global är detta rätt?
Ska kolla den. En annan fråga, detta i url´n: /?page=93
ger detta samma problem?