ASP.NET MVC多语言 仿微软网站效果
微软作为ASP.NET的创造者,它对于官网的结构设计肯定有值得我们借鉴和参考的地方
本项目是基于VS2017 pro开发的,将从你已经创建了一个MVC项目开始介绍:
流程图
1.创建语言文件
创建App_GlobalResources文件夹
创建Language文件夹
创建资源文件
这些操作做完后,目录结构应该是以下这样的
我们打开每个资源文件,在里面添加一条TiTle数据
我推荐使用ResX Manager来管理语言文件
比如我已经创建了中文、英语、日语这三个语言文件,我如果要做修改的话就需要每个文件轮流修改,使用ResX Manager就能直接同时修改这三个语言文件,它还提供语言翻译功能。具体使用方法与此文无关,就不再赘述了。
2.创建一个过滤器
namespace MvcEdu.Filters
{
public class LocalizationAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
bool isSkipLocalization = filterContext.ActionDescriptor.IsDefined(typeof(WithoutLocalizationAttribute), inherit: true) || filterContext.ActionDescriptor.ControllerDescriptor.IsDefined(typeof(WithoutLocalizationAttribute), inherit: true);
if (!isSkipLocalization)
{
if (filterContext.RouteData.Values["lang"] != null &&

本文介绍了如何在ASP.NET MVC项目中实现多语言功能,仿照微软网站的效果。通过创建资源文件、过滤器、配置路由和修改控制器及视图,实现不同语言环境下页面标题的切换。并提供了遇到问题时的解决办法以及相关资源的链接。

230

被折叠的 条评论
为什么被折叠?



