2009-03-17 19 views
0

Ok ... URLルーティングは正常に機能していますが、ターゲットページの値を実際に読み取る方法を理解することはできません。ターゲットページのURLリルーティングから値を取得していますか?

ここでは、RequestContextのRouteValueオブジェクトの使用例を示します。これらはすべてSystem.Web.Routing名前空間にありますが、誰もがこれらをMVCに接続しているようです。 RequestContextはどこから来たのですか?

どのようにこれらのパラメータを読みますか?

クエストリストも空白です。

TIA! ケビン

答えて

0

これは私自身で解決しました... Yay me !!! :)

IHttpHandlerインターフェイスは、GetHttpHandlerメソッドにRequestContextを提供します。

私は基本ページクラスを変更しました(私はいつもSystem.Web.UI.Pageと自分のページの間にレイヤーを置いていました。そこで私は、PVBasePageにpublicプロパティを追加して、RequestContextオブジェクトを受け取りました。次のように

public RequestContext RequestContext { get; set; } 

はその後、私のルーティングクラスのコードは次のとおりです。

IHttpHandler IRouteHandler.GetHttpHandler(RequestContext requestContext) 
{ 
    // create the page object as my own page... 
    var page = BuildManager.CreateInstanceFromVirtualPath(VirtualPath 
     , typeof(PVBasePage)) as PVBasePage; 
    // pass in the request context 
    page.RequestContext = requestContext; 
    // return this page in the form of a IHttpHandler 
    return page as IHttpHandler; 
} 

ので、代わりの、サンプルコードのように、IHTTPハンドラとして直接インスタンスを作成し、私は自分のページとしてそれを作成します。リクエストコンテキストのプロパティを設定し、ページをIHttpHandlerの呼び出し元に返します。

テスト済みで動作します。うわー!

これは、誰かが道路を降りるのを助けることを望みます。

関連する問題