プロジェクト (ニュース Web サイト) にルーティング機能を正常に実装しました。
Sub RegisterRoutes(ByVal routes As RouteCollection)
routes.MapPageRoute("ndetails", "news/{title}/{id}/", "~/newsdetail.aspx")
End Sub
そして、次のように URL を設定します (リピーターにデータバインド):
href="<%# Page.GetRouteUrl("ndetails", new with { .title= Server.UrlEncode(Eval("Title")), .id= Eval("NewsID")})%>"
生成される URL は次のようになります。
/this%20is%20a%20news%20item/89
上記のように、URL の部分が読みにくいので、次のようにしたいと考えています。
/this_is_a_news_item/89
私は置換機能に行くことを考えました。ただし、ニュースを作成するユーザーは任意の文字列を入力する可能性があるため、置換が必要になる可能性のある他のすべての文字を考慮する必要があります。
経験豊富な開発者から、長い置換機能を使用する方法があるかどうか、またはこのルーティング シナリオで URL をフォーマットする別のソリューションがあるかどうかを知りたかっただけです。
よろしくお願いします