Простите меня, если это уже было задано где-то, но я не могу найти лучший способ выполнить эту задачу. Я хочу иметь возможность создать систему рендеринга, которая позволит мне отображать контент из тысяч различных страниц .aspx, не создавая тысячи страниц .aspx. При этом я все же хочу иметь возможность отображать соответствующую страницу .aspx, если она существует в моем коде.Динамические страницы из базы данных на C#
Например, когда запрос сделан на сайт, я хочу проверить и посмотреть, находится ли этот 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 глагола рассматриваются с обработчиком.
Если у кого-то есть лучшие идеи о том, как полностью перепроектировать это, я полностью открыт для этого. Благодарю.