Tags: , , | Categories: ASP.Net, VB.Net Posted by Christoph on 16.10.2009 14:28 | Kommentare (0)
Für die Benutzung von SEO freundlichen URLs (Search Engine Optimisation) benutze ich das URL Rewriting Modul des IIS (-> http://www.iis.net/extensions/URLRewrite). Wenn nun ein Datapager z.B. an ein Listview Control gebunden wird, benutzt dieser leider als Linkadresse nicht die “schöne” URL, sondern die aus dem Rewriting entstehende URL. Man kann dem Datapager aber mit dieser Funktion die neuen (schönen) Links beibringen: Private Sub FixPagerURLs(ByVal Pager As DataPager) For Each Pag As DataPagerFieldItem In Pager.Controls For Each Ctrl In Pag.Controls If TypeOf Ctrl Is HyperLink Then Dim Hyp As HyperLink = Ctrl Dim Req = Hyp.NavigateUrl.Replace(Request.Path, "").Replace("?", "") Dim Params = Req.Split("&") Dim NewPage = (From item In Params Where item.StartsWith("page")).FirstOrDefault Dim URL = Request.RawUrl If URL.Contains("?") Then URL = URL.Substring(0, URL.Inde... [Mehr]
Tags: , , , | Categories: ASP.Net, VB.Net Posted by Christoph on 01.10.2008 11:23 | Kommentare (0)
Der IIS 7 hat nun endlich ein schönes Rewrite Modul bekommen. Nun ergibt sich aber das Problem, das sowohl beim Postback, als auch, was natürlich damit zusammenhängt, im Updatepanel jedesmal die falsche Zielurl benutzt wird. Dies lässt sich so beheben: 1) eine neue form.browser im /App_Browsers anlegen, die so aussieht: <browsers> <browser refID="Default"> <controlAdapters> <adapter controlType="System.Web.UI.HtmlControls.HtmlForm" adapterType="FormRewriterControlAdapter" /> </controlAdapters> </browser> </browsers> 2) eine FormRewriterControlAdapter.vb im Projekt hat, die so aussieht: Imports Microsoft.VisualBasic Public Class FormRewriterControlAdapter Inherits System.Web.UI.Adapters.ControlAdapter Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter) MyBase.Render(New RewriteFormHtmlTextWriter(writer)) End Sub End Class Public Class RewriteFormHtmlTextWriter Inherits HtmlTextWriter ... [Mehr]