ASP.NET MVC控制器参数处理 [英] ASP.NET MVC Controller parameter processing

查看:129
本文介绍了ASP.NET MVC控制器参数处理的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的应用程序有一个名为就是在所有控制器必需的店的字符串参数,但它需要使用code这样的转变:

In my application I have a string parameter called "shop" that is required in all controllers, but it needs to be transformed using code like this:

        shop = shop.Replace("-", " ").ToLower();

我怎样才能为所有控制器做这一全球不重复这条线在一遍又一遍?
谢谢,
狮子座

How can I do this globally for all controllers without repeating this line in over and over? Thanks, Leo

推荐答案

写的自定义操作过滤器,覆盖 OnActionExecuting()和过滤器适用于所有控制器。 (或者干脆重写 OnActionExecuting()在你的基地控制器,如果你有一个基本的控制器都没有。)操作方法会是这个样子:

Write a custom action filter, override OnActionExecuting() and apply the filter to all your controllers. (Or simply overriding OnActionExecuting() in your base controller, if you have a base controller at all.) The action method would look something like this:

protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
    var parameters = filterContext.ActionParameters;
    object shop;
    if (parameters.TryGetValue("shop", out shop))
    {
        parameters["shop"] = ((string)shop).Replace("-", " ").ToLower();
    }
}

这篇关于ASP.NET MVC控制器参数处理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆