Есть ли альтернатива использованию фреймов для объединения нескольких файлов aspx в одну страницу?

Я переписываю сайт, содержащий около 10 отдельных фреймов, каждый из которых отображает кучу отдельных файлов aspx.

Существует ли современный эквивалент использования фреймов для объединения нескольких файлов aspx без необходимости перезаписи всех отдельных файлов aspx, составляющих содержимое фрейма?


person Rachel    schedule 20.09.2012    source источник


Ответы (2)


Как насчет того, чтобы превратить существующие страницы aspx в (пользовательские) элементы управления? Это позволит вам либо динамически добавлять их (любое/все, одно или любое число) на одну страницу, либо просто статически (все десять) делать это в разметке.

Вы сохраняете любое обоснование, которое у вас было для создания 10 разных страниц, в то же время действительно желая отображать их вместе в той или иной форме/количестве, сохраняя при этом разделение (на других/старых платформах это было бы похоже на include файлы)

преобразование aspx в ascx не слишком много работы.

В зависимости от того, что вам нужно дальше, вам может потребоваться выполнить дополнительную работу, вероятно, используя методы на стороне клиента (AJAX), если вы хотите, чтобы каждая из функций управления не обновляла всю страницу (например, в наборе фреймов).

person EdSF    schedule 20.09.2012
comment
Спасибо, я посмотрю, как это сделать, и дам вам знать, как это происходит. Вы не знаете, могу ли я использовать другой язык в элементах управления? Например, элементы управления используют VB.Net, а основной сайт будет использовать C#? - person Rachel; 20.09.2012
comment
@Rachel - я смешал и сопоставил vb и c # aspx, а также более новую razor vbhtml и cshtml в Web Site (не Web Application) без проблем. А вот с этим не уверен - никогда не пробовал. (обновлено): я думаю, у вас возникнут проблемы, потому что вы будете смешивать языки на (содержащей) странице. Если попробуете, мне самому будет интересен результат :) - person EdSF; 20.09.2012

Главная страница ASP.NET может быть тем, что вам нужно.

person Asaf    schedule 20.09.2012
comment
Я не хочу переписывать содержимое всех страниц содержимого, если это возможно, и я думаю, что мне придется это сделать, если я использую главную страницу ASP.Net. Там много содержательных страниц... - person Rachel; 20.09.2012
comment
Мастер-страница, вероятно, лучший ответ, другие решения потребуют больше работы и, возможно, другие обработчики HttpHandler или альтернативный PageHandlerFactory, но это НАМНОГО больше работы. - person Mark Broadhurst; 20.09.2012
comment
@SaintGerbil Как это сработает? Моя начальная страница содержит около 10 разных фреймов, содержащих отдельные файлы aspx, и мне нужно будет отобразить их все сразу. Я думал, что страницы master/content предназначены для отображения одной страницы со стандартным макетом. - person Rachel; 20.09.2012