Я создаю веб-страницу, на которой я отображаю n самые последние новостные посты на первой странице, и это метод, который получает сообщения и возвращает их в .aspx-файл. Я использую asp: substitution-control для вставки строки в веб-страницу.
Я думаю, что мой способ сделать это немного грязный и уродливый, и не очень гибкий, если я хочу внести небольшие изменения в шаблон. Есть ли способ для меня, чтобы достичь того, что я хочу, имея сам шаблон в отдельном файле .aspx или .ascx? Я пытался, но не могу придумать умный способ передачи данных в файл шаблона.
Плюс, когда (если?) Я поместил шаблон в отдельный файл - как я могу повторить его в другом .aspx-файле (в пределах заполнителя содержимого, если это имеет значение. Макет контролируется главной страницей) ) с разными значениями для каждого экземпляра?
public static string getShortPosts(int postNumber)
{
DbConnection d = new DbConnection();
DataTable tbl = d.selectQuery("SELECT TOP (" + postNumber + ") news.id, news.title, news.newsContent, news.excerpt, news.date, news.userid, news.urlTitle, " +
"news.isPublished, users.firstName, users.lastName FROM news INNER JOIN users ON news.userid = users.userid " +
"ORDER BY id DESC;");
DataTableReader r = tbl.CreateDataReader();
StringBuilder s = new StringBuilder("");
while (r.Read())
{
/* THIS */
s.Append(
"<div class=\"newsBox\">" + System.Environment.NewLine +
"<h2>" + r["title"]+ "</h2>" + System.Environment.NewLine +
"<p>" + r["excerpt"] + "</p>" + System.Environment.NewLine +
"</div>" +System.Environment.NewLine+System.Environment.NewLine
);
}
return s.ToString();
}