我有一个在多个国家推出的应用程序。web.config 文件中将有一个设置,用于定义国家/地区。国家/地区不会出现在 URL 中。
一些观点因国家而异。我的第一次尝试是使用包含视图的 views 文件夹中的文件夹,如果它们与默认视图不同:
默认
/问题/ask.aspx
西班牙
/问题/ESP/ask.aspx
如果国家文件夹中没有视图,则使用默认视图。有没有办法扩展 ViewEngine 以首先在国家文件夹中查找视图?
编辑:
这只是一个 poc。要查看完整的实现,请查看
http://pietschsoft.com/?tag=/mvc
private static string[] LocalViewFormats =
new string[] {
"~/Views/{1}/ESP/{0}.aspx",
"~/Views/{1}/{0}.aspx",
"~/Views/{1}/{0}.ascx",
"~/Views/Shared/{0}.aspx",
"~/Views/Shared/{0}.ascx"
};
public LocalizationWebFormViewEngine()
{
ViewLocationFormats = LocalViewFormats;
}