mvc 中英文切换

时间:2021-05-21 20:16:11

我常用的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

mvc 中英文切换


前台显示ModelTest.title

mvc 中英文切换