我有一个ASP.NET MVC应用程序,正在尝试迁移到MVC 6(ASP.NET 5)。 考虑到这一点,我使用本SO post中描述的过程添加了一些过滤器。 但是,将Global.asax替换为Startup.cs后,我不确定在哪里添加全局过滤器。

另外,在我的过滤器中,我有:

public override void OnResultExecuting(ResultExecutingContext context)
{
  context.Controller.ViewBag.MyProperty = "[TESTING]";
}

当我运行dnx . run 现在dnx . run ,我收到一条错误消息:

MyFilter.cs(11,22): error CS1061: 'object' does not contain a definition for 'ViewBag' and no extension method 'ViewBag' accepting a first argument of type 'object' could be found (are you missing a using directive or an assembly reference?)

如何在ASP.NET 5(MVC 6)中添加全局过滤器?

===============>>#1 票数:4

要注册全局过滤器,您可以执行以下操作:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc().Configure<MvcOptions>(options =>
    {
        options.Filters.Add(new YourCustomFilter());
    });
}

在您的Startup.cs中

关于您遇到的错误, context.Controller具有对象类型,因此无法解析ViewBag属性。 首先将其转换为控制器类型:

public override void OnResultExecuting(ResultExecutingContext context)
{
    var controller = (Controller) context.Controller;

    controller.ViewBag.MyProperty = "[TESTING]";
}

  ask by Some User translate from so

未解决问题?本站智能推荐:

1回复

ASP.net DataView-无法应用过滤器

我正在用C#在asp.net中建立一个网站。 我正在尝试使用数据视图,以便可以过滤数据集,然后返回到gridView。 问题在于它忽略了过滤器,只显示了整个数据集。 这是我的代码(省去了一些部分,以减少混乱) 有人知道我在做什么错吗?
1回复

如何在ASP.NET MVC中有条件地应用过滤器?

我对ASP.NET MVC有点新意,我想知道是否有一个框架结构能够完成我在下面描述的内容?: 我想根据一些任意标准对一组控制器/操作应用过滤器。 这里的关键点是我想仅根据这个标准将过滤器应用于某些控制器或操作。 我不想在控制器或控制器操作上使用属性,因为开发人员可能忘记将这些属性添加到
1回复

ASP.NET中的Telerik报表-以编程方式应用过滤器

我的要求:通过c#编码(非设计)应用填充器,即过滤器的工资大于7000。 我的项目中有一个类库和一个Web表单。 我在类库上创建报告,并使用Web表单显示报告。 当我运行我的应用程序时,它总是显示未过滤的数据。 我要如何在Viewer中获取过滤数据。 码:
2回复

ASP.NET vNext可以使用非vNext引用吗?

所以我在VS 14 CTP中有一个ASP .NET vNext项目。 我的目标是.NET Framework 4.5.1。 我添加了对NuGet包的引用,该包没有针对vNext的构建。 Visual Studio现在显示编辑器/ Intellisense中没有错误的包的用法。 但是在
2回复

带过滤器选项的Asp.net DropDownList

有没有办法我可以使用asp.net DropDownList控件添加过滤器选项? 就像,用户开始输入它,它相应地缩小了下面的列表。 谢谢.. Anjum 更新 : 我选择了JS,但仍然无法使用,这是我页面的代码:
1回复

响应过滤器asp.net

我正在研究响应过滤器。 我正在尝试捕获所有表达式: $ sometext.sometext $,并使用以下正则表达式:^ \\ w +?。\\ w +?\\ $ 在我的实现中,它看起来像: } 问题是当我在aspx页面上写入$ Catch.Me $时,它不会被write方法
1回复

ASP.NET LDAP查询过滤器

我是LDAP新手。 这是我的问题。 我用字符串获取人信息 这些项目非常简单,包括uid , name , title等,但是有一个项目管理器,它也是LDAP目录中的记录,格式为 现在,我想获取向给定经理报告的人员列表。 如何在C#中提取?
1回复

ASP.NET过滤器表达式

嗨,我正在尝试在我的gridview上的BLOG表中的内容列上运行过滤器表达式。 它以50个字符显示内容列,但是当我尝试单击我的asp按钮来运行过滤器表达式时,我收到错误,说明找不到内容列。 知道为什么会这样吗? 这是我的代码:
3回复

带复选框的ASP.NET过滤器结果

我列出了大约20种产品,每种产品最多具有30种可能的属性。 我正在尝试找出在表单上使用复选框(代表30种可能的属性)来过滤产品的最佳方法,以便仅显示具有匹配属性的产品。 我可以使用SQL Server 2005,但似乎有点过头了。 有什么建议么? (附加)编辑:好的,鉴于下面的数据结
2回复

ASP.NET的SQL注入过滤器方法

我的字段是自由格式的文本,几乎允许数字/符号的任何组合。 验证这些内容以防止SQL注入的最佳方法是什么? 我可以简单地替换刻度线吗? 有没有可以插入使用的方法?