我有被在多个国家推出了一个应用程序。将有在web.config文件中的设置,定义的国家。 国家将不会在URL中。

一些取决于国家的观点变化。 我的第一次尝试是使用一个文件夹,其中包含视图的视图文件夹内,如果它们从默认视图不同:

默认

/questions/ask.aspx

<强>西班牙

/questions/ESP/ask.aspx

如果有在乡村文件夹的默认视图不使用图。有没有一种方法来扩展视图引擎来查找在全国第一个文件夹的看法?

编辑:

这是唯一的一个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; 
    }
有帮助吗?

解决方案

public class MyViewEngine : WebFormViewEngine
{
    private static string[] LocalViewFormats = new[] { "~/Views/ESP/{0}.aspx",
                                                          "~/Views/ESP/{0}.ascx" };
    public MyViewEngine()
    {
        ViewLocationFormats = LocalViewFormats.Union(ViewLocationFormats).ToArray();
    }
}

显然,你不想硬编码的位置,但是这应该给你的总体思路。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top