2010-10-23 3 views
1

Несколько клиентов попросили сделать некоторые статические веб-сайты, потому что их хостинг не поддерживает серверный язык. Теперь мне было интересно, есть ли какие-либо инструменты/методы для создания статического веб-сайта с сайта Asp.net?Статический веб-сайт с сайта ASP.NET

Причина, по которой я прошу, заключается в том, что без мастер-модели или любой формы шаблонов она становится очень громоздкой.

Помню, 5 лет назад у Dreamweaver была система шаблонов, основанная на комментариях html, но мне это не понравилось, поэтому я бы хотел этого избежать.

+1

Вы можете найти множество результатов поиска Google, попробуйте найти на сайте загрузчика сайта – Kane

+0

Это неплохая идея, спасибо. – Pickels

ответ

4

Ознакомьтесь с методом RenderControl. Это позволит вам сбрасывать содержимое любой страницы ASP.NET как HTML. Таким образом, вы можете динамически создавать свой сайт, а затем выгружать его в HTML и загружать на свой антикварный сервер.

Вот немного хелперов кода, который я стащила из одного из моих проектов, чтобы получить содержимое любой страницы в строку:

public class RenderHelper 
{ 
    public static string RenderControl(Control control) 
    { 
     StringBuilder result = new StringBuilder(1024); 
     control.RenderControl(new HtmlTextWriter(new StringWriter(result))); 
     return result.ToString(); 
    } 
    public static string RenderControl(TemplateControl control) 
    { 
     StringBuilder result = new StringBuilder(1024); 
     control.RenderControl(new HtmlTextWriter(new StringWriter(result))); 
     return result.ToString(); 
    } 
    public static string RenderPage(string pageLocation) 
    { 
     HttpContext context = HttpContext.Current; 
     StringBuilder result = new StringBuilder(1024); 
     context.Server.Execute(pageLocation, new HtmlTextWriter(new StringWriter(result))); 
     return result.ToString(); 
    } 
} 
0

Вы можете связать файл JS для новых страниц, которые вы делаете. Например, файл, который имеет функции для написания нижнего колонтитула и заголовка и, по существу, позволяет js писать html. Это псевдо-веб-шаблон, немного похожий на подход php include или master page, но без каких-либо компонентов на стороне сервера.

+0

Я думал об этом, но не делал этого из-за изящного деградации. – Pickels

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