Измените CSS динамично

Техника, которую я использовал для этого в том прошлом, должна была иметь понятие "поколений" в базе данных, каждое изменение увеличивает текущее число поколения для базы данных - при использовании подрывной деятельности думайте изменения. Каждая запись имеет 2 числа поколения, связанные с ним (2 дополнительных столбца на таблицах) - поколение, что запись начинает быть допустимой для, и поколение, для которого это прекращает быть допустимым. Если бы данные в настоящее время допустимы, второе число было бы ПУСТЫМ или некоторый другой универсальный маркер.

Так для вставки в базу данных:

  1. увеличивают поколение номер
  2. , вставляют данные
  3. , отмечают время жизни тех данных с допустимым от и допустимым к ПУСТОГО УКАЗАТЕЛЯ

, Если Вы обновляете некоторые данные:

  1. метка все данные это собирается быть измененным, поскольку допустимый к текущему поколению инкремент номер
  2. поколение номер
  3. вставляет новые данные с текущим удалением поколения номер

, просто вопрос маркировки данных как завершающийся в текущем поколении.

Для получения конкретной версии данных найдите, какое поколение Вы после и ищете данные, допустимые между теми версиями поколения.

Пример:

Создают человека.

|Name|D.O.B  |Telephone|From|To  |
|Fred|1 april|555-29384|1   |NULL|

Обновление номер телефона

|Name|D.O.B  |Telephone|From|To  |
|Fred|1 april|555-29384|1   |1   |
|Fred|1 april|555-43534|2   |NULL|

Удаляют fred:

|Name|D.O.B  |Telephone|From|To  |
|Fred|1 april|555-29384|1   |1   |
|Fred|1 april|555-43534|2   |2   |
7
задан Ryan Duffield 1 October 2009 в 02:19
поделиться

4 ответа

Думаю, я нашел то, что искал:

protected void Page_Init(object sender, EventArgs e)
    {
        HtmlLink css = new HtmlLink();
        css.Href = "css/fancyforms.css";
        css.Attributes["rel"] = "stylesheet";
        css.Attributes["type"] = "text/css";
        css.Attributes["media"] = "all";
        Page.Header.Controls.Add(css);
    }

Также MSDN описывал, как этого добиться: HtmlLink Class

9
ответ дан 6 December 2019 в 09:20
поделиться

Its much easier and more flexible to do this:

MasterPage:

<head>
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>

Child-Page 1:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
    <link href="css/fancyforms.css" rel="stylesheet" type="text/css" />
</asp:Content>

Child-Page 2:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
    <link href="css/NOTfancyforms.css" rel="stylesheet" type="text/css" />
</asp:Content>
8
ответ дан 6 December 2019 в 09:20
поделиться

You might want to investigate using themes as well.

http://msdn.microsoft.com/en-us/library/ykzx33wh.aspx

2
ответ дан 6 December 2019 в 09:20
поделиться

You can include the CSS file declaratively, i.e. in the *.aspx file: see for example this answer.

1
ответ дан 6 December 2019 в 09:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: