MapRoute与我的扩展名

时间:2013-08-26 07:19:22

标签: asp.net-mvc-4 maproute

如何使用我的扩展程序创建正确的MapRoute? (e.x.“我的”)。 这个MapRoute是正确的

    routes.MapRoute(
        name: "Default",
        url: "{controller}.my/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );

但我想使用controller.my?id。 这个MapRoute错了

routes.MapRoute(
    name: "",
    url: "{controller}.my/{tid}",
    defaults: new { controller = "Home", action = "Index", tid = UrlParameter.Optional }
);

1 个答案:

答案 0 :(得分:0)

我认为如果你在MapRoute中添加参数,你不能简单地将它们用作查询字符串。

从MapRoute中删除那些要用作查询字符串的参数,并在操作方法中使用它们:

routes.MapRoute(
    name: "",
    url: "{controller}.my",
    defaults: new { controller = "Home", action = "Index" }
);

行动方法:

public ActionResult Index(string tid) // or int tid ...
{
    // ...
}

因此,您可以通过~/Home.my?tid=someThing

之类的内容访问该内容