Обычно я не люблю воскрешать старые вопросы, но так как на этот вопрос никогда не отвечали, и у меня возникли особые проблемы с поиском ответа, возможно, стоило бы найти ответ для всех, кто сталкивается с той же проблемой.
Вы можете добавить свои дополнительные местоположения в коллекции ViewLocationFormats и PartialViewLocationFormats для используемых вами ViewEngines.Таким образом, вы можете просто указать имя представления, как подсказывает tvanfosson, и MVC найдет файл правильно, что позволит переопределению мобильного устройства работать с его волшебством.
Вот код, который я использую для переопределения PartialViewLocationFormats, вы можететакже сделайте то же самое, используя ViewLocationFormats.Это добавлено в global.asax как часть application_start
ViewEngines.Engines.Clear();
var razorViewEngine = new RazorViewEngine
{
PartialViewLocationFormats = new[]
{
"~/Views/{1}/{0}.cshtml",
"~/Views/Shared/{0}.cshtml",
"~/Views/{1}/EditorTemplates/{0}.cshtml",
"~/Views/{1}/DisplayTemplates/{0}.cshtml",
"~/Views/Shared/DisplayTemplates/{0}.cshtml"
}
};
Поскольку этот метод включает очистку коллекции viewengines, вам нужно будет добавить все форматы location, даже стандартные, для всех используемых вами механизмов просмотра.использование.