BT

ASP.NET Web Forms 4.0での双方向ルーティングサポート

| 作者: Jon Arild Tørresdal フォローする 0 人のフォロワー , 翻訳者 編集部 フォローする 0 人のフォロワー 投稿日 2009年3月12日. 推定読書時間: 3 分 |

ASP.NET Routingエンジンが.NET Framework 3.5 SP1に追加された。双方向ルーティングを可能にするエクスプレッションビルダーを使用することで、ASP.NET WebForms 4.0でエンジンを使用するためのより良いサポートをMicrosoftは追加した。

Channel9は、ASP.NET 4.0でこの新たな機能の使用方法(リンク)を示した10-4のエピソードを公開した。そのビデオで、Jonathan Carter氏は既存のASP.NETアプリケーションでこれを有効にするための単純な例を挙げている。

以下は、ビデオで示されたコードの要約である。Product.aspx?category=jerseysがProduct/Jerseysにマップす る方法の典型的な例を使用する。ASP.NET Routingエンジンを使用し、このマッピングは Application_StartのRouteTableを使用することで追加される。

RouteTable.Routes.Add("Product",
new Route("Product/{name}",
new PageRouteHandler("~/Product.aspx")));

双方向ルーティングサポートを追加するために、ユーザはクエリストリングでURLリライト(リンク)を使用しなければならない場合がある。しかしながら、ASP.NET 4.0ではユーザはエクスプレッションビルダーを登録することができる。

<system.web>
  <compilation>
    <expressionBuilders ...>
      <add expressionPrefix="RouteUrl" 
           type="System.Web.Compilation.RouteUrlExpressionBuilder" />
      
      <add expressionPrefix="RouteValue"
           type="System.Web.Compilation.RouteValueExpressionBuilder" />
    </expressionBuilders>
  </compilation>
</system.web>

最初のエクスプレッションは、URLの取得のためで、2つ目は、値の取得のエクスプレッションである。aspxページからエクスプレッションにアクセスするには、$記号が使用される。

<asp:HyperLink NavigationUrl="<%$ RouteUrl:RouteName=Product, name=Jerseys" 
     Text="Jerseys" 
     runat="server" />

名前の属性から値を取得するには、ユーザはRequestオブジェクトではなくRouteオブジェクトを使用する。

RouteData.Values["name"];

もしくは、エクスプレッションビルダーを使用する。

<%$ RouteValue:name %>

ASP.NET Routingおよび新たな双方向サポートを使用することで、ユーザは物理Web FormからURLを切り離すことができ、より分かりやすいURLを実現し、検索エンジンにこれらを発見させたり、使用させたりする。

 

原文はこちらです:http://www.infoq.com/news/2009/03/ASPNET40-Routing

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT