سؤال

لدي طلب أن يحصل خرجت في عدة بلدان.سيكون هناك وضع في شبكة الإنترنت.config الذي يحدد البلد.البلد لن يكون في URL.

بعض الآراء التي تتغير اعتمادا على البلد.أول محاولة لاستخدام مجلد داخل آراء المجلد الذي يحتوي على وجهات النظر ، إذا كانت تختلف عن طريقة العرض الافتراضية:

الافتراضي

/أسئلة/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; 
    }
هل كانت مفيدة؟

المحلول

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