0

私は2つのルートを持っています:

routes.MapRoute(
            "FetchVenue",                                     
            "venue/fetchlike/{q}",                                     
            new { controller = "venue", action = "fetchlike" }      
        );

        routes.MapRoute(
            "venue",                                         
            "venue/{venueId}",                                 
            new { controller = "Venue", action = "Index" }   
);

URL /venue/fetchlike/test は正しいコントローラーに渡されますが、URL /venue/fetchlike/?q=test は index アクションに渡されます。

データをクエリ文字列として渡すことができるようにしたい。

私は何を間違っていますか?

4

2 に答える 2

3

実際の問題は、ルートが次のとおりであることでした。

 routes.MapRoute( "FetchVenue", "venue/fetchlike/{q}",  new { controller = "venue", action = "fetchlike" });

実際には次のようになっているはずです:

 routes.MapRoute( "FetchVenue", "venue/fetchlike",  new { controller = "venue", action = "fetchlike" });

つまり、URL は次のようになります。

/venue/fetchlike?q=テスト

上で strelokstrelok が提案したように。

したがって、パラメーターをクエリする場合は、ルートで定義しないでください。

于 2008-12-23T18:57:44.750 に答える
2

私の頭のてっぺんから、あなたのURLはのよう/venue/fetchlike?q=testに見えるべきではありません/venue/fetchlike/?q=test

于 2008-12-17T23:49:24.590 に答える