如何设置不使用属性路由路由的控制器方法

时间:2014-03-14 18:04:14

标签: asp.net-mvc-routing asp.net-mvc-5 attributerouting

我在控制器级别应用了一个路由属性,但是我希望将一个动作排除在路由之外。没有覆盖,但完全排除了路线。如何实现这一目标?

让我说我有:

[RoutePrefix("promotions")]
[Route("{action=index}")]
public class ReviewsController : Controller
{
    // eg.: /promotions
    public ActionResult Index() { ... }

    // eg.: /promotions/archive
    public ActionResult Archive() { ... }

    // eg.: /promotions/new
    public ActionResult New() { ... }

    // eg.: /promotions/edit/5
    [Route("edit/{promoId:int}")]
    public ActionResult Edit(int promoId) { ... }

    public void Internal() { ... }
}

我希望内部不被路由。

我原本希望找到[DoNotRoute]或[Ignore]属性,但我没有找到类似的东西。

1 个答案:

答案 0 :(得分:11)

使用[NonAction]属性:

[NonAction]
public void Internal() { ... }