Я создаю MVC-приложение, которое в настоящее время использует EditorFor для создания большого количества представлений. Весь вид в основном представляет собой просто EditorForModel, и он отлично работает. Тем не менее, я столкнулся с одной небольшой проблемой, для которой я не могу найти решение, и важно, чтобы она работала так, как мне нужно, и это при попытке отобразить EditorFor интерфейс. О привязках и всем подобном позаботились, но проблема в том, что EditorFor видит, что это интерфейс, и по умолчанию использует шаблон «Объект». Мне нужно, чтобы он посмотрел на интерфейс и увидел, может ли он найти шаблон с таким именем, а если нет, мне нужно, чтобы он просмотрел все присутствующие интерфейсы, чтобы увидеть, соответствует ли он какому-либо из них. Чтобы объяснить это проще, посмотрите на этот пример:
интерфейсы:
public interface IAppProvider
{
string Name { get; set; }
}
public interface IAppMusicProvider : IAppProvider
{
int GetPlaylistCount();
} // Yeah, I know, this interface is not smart, but it's only for show.
Если я сейчас создам представление с моделью = "IApMusicProvider" и запущу Html.EditorForModel()
, мне нужно найти шаблон "~Views\Shared\EditorTemplates\IApProvider.cshtml". Есть ли простой способ добиться этого?