この件に関しては、数多くの記事やリソースがあることを認識していますが、URLの周りにカテゴリ=シューズのようなクエリ文字列を別の場所に移動する方法のみを示すようです。この製品のように/ {カテゴリ}.net 4.0 QueryStringsを使用したルーティング
さて私は、次のクエリ文字列を持っている:profile.aspx Q = Iを照会するRoutHandlerを実装しようとしていた
-a33f-0e34b106877e 98c2b15f-90c3-4a7f? DBは、ユーザー名を検索し、URLを作成するmydomain.com/ usersname
は、これは私が(私はそれが働いて得るまですべてがハード今コーディングされている)を試みたものです:
void Application_Start(object sender, EventArgs e)
{
RegisterRoute(System.Web.Routing.RouteTable.Routes);
}
void RegisterRoute(System.Web.Routing.RouteCollection routes)
{
routes.Add("Profiles", new System.Web.Routing.Route("profile/{profile}", new RouteHandler()));
}
そして、これは、ハンドラクラスです:
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
string username = requestContext.RouteData.Values["profile"] as string;
HttpContext.Current.Items["q"] = "98c2b15f-90c3-4a7f-a33f-0e34b106877e";
return BuildManager.CreateInstanceFromVirtualPath("~/pub/profile.aspx", typeof(Page)) as Page;
}
プロフィール。 aspxは実際に "q"クエリーストーンを探します。上記の設定では、それを見つけることはできません。
私は間違っていますか?どのようにしてURLをルーティングしたり書き換えたりすることで、ページが必要なクエリーストリングを見つけることができるようにするか?
助けがあれば助かります。前もって感謝します。