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