从新标签

时间:2017-01-20 12:24:16

标签: asp.net-web-api

我有一个动作属性

ReportAccessAttribute

将此属性添加到控制器操作

ReportingController

我的申请是在angularjs 当使用其他控制器和操作进行测试时,此属性可以正常工作。

现在我通过在锚标记中设置url来从我的应用程序请求控制器的Action方法。 此锚标记打开一个新选项卡并将请求发送到服务器。 在这种情况下,Action属性不会执行。

请建议。

代码示例 行动属性

public class ReportAccessAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(HttpActionContext actionContext)
    {
        //Some work...!!
        base.OnActionExecuting(actionContext);
    }
}

控制器

public class ReportingController : Controller
{
    public ReportingController()
    {
        //Some initializations..!!
    }

    [Filters.ReportAccess]
    public ActionResult Report(string reportName)
    {
        //Report generation logic.
    }
}

当从我的angularjs应用程序访问时,它会被执行,例如:使用服务来调用该方法。

但是当我创建一个url并将锚标记值设置为该url并单击该锚标记时。它会在新选项卡中打开该URL,然后不执行。

1 个答案:

答案 0 :(得分:0)

感谢您的回复。

问题是我使用来自WebApi dll的命名空间和来自MVC dll的控制器来创建属性。

这就是为什么它没有在执行管道中被截获。