0
如何将资源整合到ActionLink中?当我导航到注入文化语言的路线时,我希望标题能够显示翻译。但我不知道如何将翻译转换为ActionLink。如何通过ActionLink使用资源?
如何将资源整合到ActionLink中?当我导航到注入文化语言的路线时,我希望标题能够显示翻译。但我不知道如何将翻译转换为ActionLink。如何通过ActionLink使用资源?
也许我错过了一些东西。但是你应该添加一条简单的路线如下。
routes.MapRoute(
"Default", // Route name
"{culture}/{controller}/{action}/{id}", // URL with parameters
new { culture = "en-US", controller = "Home", action = "Index", id = "" } // Parameter defaults
);
之后,您必须创建一个ActionFilter来根据请求设置区域性。
#region [ Imports ]
using System.Globalization;
using System.Threading;
using System.Web.Mvc;
#endregion
namespace SlideShowSample.Components
{
public class CultureAttribute : ActionFilterAttribute, IActionFilter
{
#region IActionFilter Members
void IActionFilter.OnActionExecuted(ActionExecutedContext filterContext) { }
void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext)
{
CultureInfo culture = new CultureInfo(filterContext.RouteData.GetRequiredString("Culture"));
Thread.CurrentThread.CurrentCulture = culture;
Thread.CurrentThread.CurrentUICulture = culture;
}
#endregion
}
}
[Culture]
public class HomeController { }
最后在视图中,使用ActionLink的如下。
<%= Html.ActionLink("Foo", "Foo", new { Culture = "en-GB" }) %>
上面的代码片段展示了一个简单的代码片段。您可以在ASP.NET MVC视图here中找到更多信息here 和一个简单的使用资源的方法。
谢谢你的帮助。 – 2009-12-27 13:13:18