Простите, если об этом уже где-то спрашивали, но я не могу найти лучший способ выполнить эту задачу. Я хочу иметь возможность создавать систему рендеринга, которая позволит мне выводить контент с тысяч различных страниц ASPX без необходимости создавать тысячи страниц ASPX. При этом я все еще хочу иметь возможность отображать соответствующую страницу .aspx, если она существует в моем коде.
Например, когда на сайт сделан запрос, я хочу проверить и посмотреть, есть ли этот URL в базе данных, если он есть, то я хочу соответствующим образом отобразить контент. Однако, если это не так, то я хочу, чтобы он продолжил рендеринг настоящей страницы ASPX.
Пытаясь использовать HTTPModule, я не могу заставить страницу, которая существует в базе данных, выписать соответствующий контент. Вот мой код.
void context_BeginRequest(object sender, EventArgs e)
{
HttpApplication application = sender as HttpApplication;
Uri url = application.Context.Request.Url;
//Checks to see if the page exists in the database
PageInformation page = PageMethods.GetPageFromUrl(url.AbsolutePath);
if (page != null)
{
string renderedPage = Renderer.RenderPage(page);
application.Context.Response.Write(renderedPage);
}
}
Однако, пытаясь использовать HTTPHandler, я не могу заставить реальные страницы .aspx правильно отобразить, потому что обработчик обрабатывает глагол * .aspx.
Если у кого-то есть идеи о том, как полностью изменить дизайн, я тоже полностью открыт для этого. Благодаря.