Я искал ответ на этот вопрос и нашел только две возможности, обе из которых мне не очень нужны.
У меня есть приложение ASP.NET MVC, котороемы собираемся добавить модуль в.Этот модуль может также использоваться совместно с другим продуктом, который у нас есть, поскольку он охватывает много общего.Я не хочу переписывать этот модуль (даже просто часть пользовательского интерфейса) для двух отдельных веб-сайтов, поэтому я изначально думал, что мы просто разработаем его как отдельный сайт (и поскольку наш пакет продуктов поддерживает единый вход черезв комплекте не было бы проблем с необходимостью снова войти на новый сайт).Тем не менее, мне сказали, что он должен выглядеть так, как будто он является частью существующего сайта, он должен находиться внутри собственной вкладки (на главной странице есть вкладки, чтобы показать вам, в каком разделе сайта вы находитесь), как это происходит в данный момент.marketed - интегрированный компонент существующего продукта.
Итак, я думал о том, как заставить этот сайт находиться во вкладке существующего сайта.
Я думал, что самая простая вещь - это просто iframe.У нас уже есть iframe на другой вкладке (хотя он является частью того же проекта - некоторые устаревшие веб-формы, использующие сторонний элемент управления, несовместимый с MVC), и он работает ... до определенного момента (на самом деле это скорееуродливое решение и план для следующего выпуска избавляется от него).Я бы предпочел не делать это снова.
Другая мысль заключалась в том, что внутри области содержимого вкладки просто есть элемент div, который я могу заменить содержимым с помощью вызовов AJAX по мере того, как пользователь проходит через работу этого нового модуля, так чтовсе выглядит так, как будто это один цельный сайт.Опять же, это наполняет меня страхом, так как я не думаю, что это будет работать очень хорошо ... и, конечно, мы проиграем в таких областях, как Google Analytics (мы либо проиграем полностью, либо нам придется поделать вручную).биты) и позволяет пользователям создавать закладки для страниц (единственный URL, который они видят, это первый, когда они открывают вкладку, поскольку все, что после этого состоит из вызовов AJAX.
Есть ли у кого-нибудь какие-либо предложения о том, какпродолжить это дальше? Есть ли способ, чтобы первое приложение ASP.NET MVC поставляло главные страницы, которые будет использовать второе? Или есть аналогичный механизм в обратном направлении, где я могу заставить первое приложение ASP.NET MVC использовать второев качестве поставщика контента на первые мастер-страницы?
Или мои реалистичные варианты вызовов IFrame или AJAX?