mvc 中英文切换

我常用的2个方案,其实性质是一样的

方案1,使用过滤器

ActionFilterAttribute,这个就不细说了,比较方便。

实现一个继承自ActionFilterAttribute的类,实现OnActionExecuting方法。就可以了。


方案2,使用IHttpModule

这个给一下代码,

1 实现IHttpModule

public class MyHttpModule : IHttpModule
    {
        public void Init(HttpApplication context)
        {
            context.BeginRequest += new EventHandler(context_BeginRequest);
        }

        private CultureInfo currentCulture;
        void context_BeginRequest(object sender, EventArgs e)
        {
            HttpApplication httpApp = (HttpApplication)sender;
            currentCulture = Thread.CurrentThread.CurrentUICulture;

            TestMVC.Models.ModelTest.title = "嗨";

            string s = "统一处理所有文件请求";
        }


        public void Dispose()
        {
            throw new NotImplementedException();
        }
    }


2  中英文类(这里就创建一个 英文的,中文的直接在BeginRequest中赋值中文了)

    public class ModelTest
    {
        public static string title = "hello";
        public static string content = "how do you do";
            
    }


3  注册web.config

<system.webServer>
    <modules>
      <add name="MyHttpModule" type="HttpModule.MyHttpModule"/>
    </modules>
  </system.webServer>


效果:

查询到了浏览器语言版本,zh-CN



前台显示ModelTest.title






posted @ 2017-09-19 16:43  正怒月神  阅读(480)  评论(0编辑  收藏  举报