Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在自定义筛选器中使用If语句后,页面将被重定向多次_C#_Asp.net - Fatal编程技术网

C# 在自定义筛选器中使用If语句后,页面将被重定向多次

C# 在自定义筛选器中使用If语句后,页面将被重定向多次,c#,asp.net,C#,Asp.net,我有一个公司列表,当没有公司列表时,我必须重定向用户以创建一个公司。如果没有公司,应用程序将无法工作,因此我添加了一个全局过滤器,使用If the company不存在,但它重定向了太多次,因此如何修复它?您能帮助我吗 我没有办法。我什么都没试过 public class CompanyExistsFilter: ActionFilterAttribute, IActionFilter { [Authorize] void IActionFilter.OnActionExecut

我有一个公司列表,当没有公司列表时,我必须重定向用户以创建一个公司。如果没有公司,应用程序将无法工作,因此我添加了一个全局过滤器,使用If the company不存在,但它重定向了太多次,因此如何修复它?您能帮助我吗

我没有办法。我什么都没试过

public class CompanyExistsFilter: ActionFilterAttribute, IActionFilter
{
    [Authorize]
    void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext)
    {
        var company = new ApplicationDbContext();
        if (company.globalCompany.Any())
        {
            filterContext.Result = new RedirectToRouteResult(
            new RouteValueDictionary
            {
                { "Action", "Create" },
                { "Controller","GlobalCompany"}
            });


        }else
        base.OnActionExecuting(filterContext);




    }
}

我认为问题在于,这是一个对每个页面执行的全局过滤器。如果没有公司,它将重定向到
创建公司
页面,然后再次执行过滤器,由于仍然没有公司,它将继续重定向到同一页面


您需要将
create company
页面从过滤器中排除,以便过滤器不会在该页面上执行。

我认为问题在于,这是一个全局过滤器,对每个页面都执行。如果没有公司,它将重定向到
创建公司
页面,然后再次执行过滤器,由于仍然没有公司,它将继续重定向到同一页面


您需要从筛选器中排除
创建公司
页面,以便筛选器不会在该页面上执行。

如何在创建公司页面上排除Bro我自己计算的;您可以在自定义筛选器类中添加disable属性,然后在控制器中添加disable==true,这样您就可以停止连续执行,在create company pageBro上显示要排除的内容,我自己就知道了;您可以在自定义筛选器类中添加disable属性,然后在控制器中添加disable==true,这样您就可以停止连续执行,谢谢