0

我有两条路线:

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" });

这意味着该网址将是:

/venue/fetchlike?q=test

正如上面 strelokstrelok 所建议的那样。

因此,在查询参数的情况下,您不要在路由中定义它们!

于 2008-12-23T18:57:44.750 回答
2

就在我的脑海中,你的 URL 不应该是这样的/venue/fetchlike?q=test,而不是/venue/fetchlike/?q=test

于 2008-12-17T23:49:24.590 回答