2010-09-11 3 views
2

Я хотел бы иметь оба эти мнения:Изменение зрения расположения частичных представлений в ASP.NET MVC

  • ~/Views/Клиент/Index. aspx
  • ~/Просмотры/Заказчик/Индекс. ASCX

Я хотел бы настроить мой сайт MVC, так что, когда я называю return View(viewModel) от метода CustomerController.Index() действия, что он смотрит на Aspx файл, но если я называю return PartialView(viewModel), что он ищет ascx файл.

Я считаю, что магия включает в себя подклассификацию ViewEngine и ControllerFactory (так что можно изменить ViewLocator.ViewLocationFormats), но хочу проверить, что я не переучиваю это решение.

У кого-нибудь есть опыт?

+0

Извините за не в состоянии дать ответ, но что PartialView() там так или иначе? Я думал, что дело в том, чтобы обеспечить фиктивность, которую вы пытаетесь достичь. –

+2

Почему бы просто не назвать их разными именами? – JcMaltaDev

+1

I второй @ предложение JcMalta. Вероятно, вам лучше всего переименовать Index.ascx в нечто вроде IndexPartial.ascx. Зачем изобретать колесо, если вы все равно вернете PartialView? –

ответ

2

На основании приведенных выше замечаний и предложение, я думаю, что мой ответ на другой вопрос, может предоставить некоторую помощь - Render Partial of same name as parent View - Crashes WebDev.WebServer40.exe

Вопрос заключается в том, что PartialViewLocationFormats устанавливается таким же, как ViewLocationFormats. Не имеет смысла, что частичным представлением будет страница aspx.

0

переопределение WebFormsViewEngine и переопределение ViewLocationFormats и/или PartialViewLocationFormats

Смежные вопросы