using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Resources;
using System.Web;
using System.Web.Mvc;
namespace WebApplication29.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
string test1 = languageResx("CN", "Hello");
string test2 = languageResx("EN", "Hello");
ViewBag.test1 = test1;
ViewBag.test2 = test2;
return View();
}
//.resx文件读取,文件为内容
private string languageResx(string language, string key)
{
string filename;
switch (language.ToUpper())
{
case "CN": filename = "Common_CN.resx"; break;
case "EN": filename = "Common_EN.resx"; break;
default: filename = "Common_CN.resx"; break;
}
string languagePath = Server.MapPath("~/Resource/");
ResXResourceReader resxReader = new ResXResourceReader(languagePath + filename);
IDictionaryEnumerator dict = resxReader.GetEnumerator();
foreach (DictionaryEntry d in resxReader)
{
if (d.Key.ToString() == key)
{
string result = d.Value.ToString();
resxReader.Close();
return result;
}
}
resxReader.Close();
return "";
}
}
}
添加引用

修改资源文件
1)修改资源文件的生成操作:内容

2)修改资源文件的访问修饰符:Public

本文介绍了一个在ASP.NET MVC应用中利用.resx文件进行多语言支持的方法。通过自定义方法languageResx,从指定语言的.resx文件中读取字符串资源,实现了动态加载不同语言的内容。此方法在HomeController的Index视图中被调用,分别获取了中文和英文的'Hello'资源。
624

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



