Asp.net mvc .NET MVC:在操作上使用属性映射路由

Asp.net mvc .NET MVC:在操作上使用属性映射路由,asp.net-mvc,asp.net-mvc-2,url-routing,Asp.net Mvc,Asp.net Mvc 2,Url Routing,我对MVC还很陌生,对这个问题找不到答案。MVC 1或MVC 2中是否有内置的体系结构,我想它允许您通过特定操作方法上的属性而不是在Global.asax中指定路由映射?我可以看到它的使用受到一定程度的限制,因为多个方法可以绑定到同一个操作,因此需要不必要地复制路由,但我的问题仍然存在 另外,除了我刚才提到的在多个方法上执行相同操作之外,有没有人在实现类似的东西时看到任何问题 注意:我不是问如何实现这一点。只检查这样的东西是否存在,如果不存在,是否麻烦过多。我建议这样做。这是第三方库,不是ASP

我对MVC还很陌生,对这个问题找不到答案。MVC 1或MVC 2中是否有内置的体系结构,我想它允许您通过特定操作方法上的属性而不是在Global.asax中指定路由映射?我可以看到它的使用受到一定程度的限制,因为多个方法可以绑定到同一个操作,因此需要不必要地复制路由,但我的问题仍然存在

另外,除了我刚才提到的在多个方法上执行相同操作之外,有没有人在实现类似的东西时看到任何问题

注意:我不是问如何实现这一点。只检查这样的东西是否存在,如果不存在,是否麻烦过多。

我建议这样做。这是第三方库,不是ASP.NET MVC 1或2附带的。用法如下所示:

public SiteController : Controller
{
    [Url("")]
    public ActionResult Home()
    {
        return View();
    }

    [Url("about")]
    public ActionResult AboutUs()
    {
        return View();
    }

    [Url("store/{category?}")]
    public ActionResult Products(string category)
    {
        return View();
    }
}
然后在global.asax中,您只需调用routes.maproces来注册您的操作路由

实现这一点非常简单。

您也可以尝试,可以通过。披露-我是项目作者。我已经在个人和专业项目中成功地使用了它,并且不会回到ASP.NET MVC的默认路由机制,除非我不得不这样做。请看下面的图片。这里有大量关于许多特性的文档

简单用法如下所示:

public class RestfulTestController : Controller
{
    [GET("Resources")]
    public ActionResult Index()
    {
        return Content("");
    }

    [POST("Resources")]
    public ActionResult Create()
    {
        return Content("");
    }

    [PUT("Resources/{id}")]
    public ActionResult Update(int id)
    {
        return Content("");
    }

    [DELETE("Resources/{id}")]
    public ActionResult Destroy(int id)
    {
        return Content("");
    }
}

AttributeRouting是高度可配置的,并且有几个扩展点。看看吧。

Spiffy。我来看看。谢谢!救命啊,看看我的问题