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