|
|
|
Supreme Being
      
участник
Last Login: 16.04.2008 11:44
Сообщ.: 366,
Visits: 2 473
|
|
Пользователь на web-форме выбирает из выпадающего списка название стилей. в зависимости от того какой элемент он выбрал, к текущей странице применяется соответствующий стиль. Т.е. фактически нужно имитировать изменение записи: <LINK rel="stylesheet" type="text/css" href="pastel.css"> на <LINK rel="stylesheet" type="text/css" modern.css"> в теле страницы. Использую VS.net 2003 FCL 1.1 Как это сделать? С уважением,
|
|
|
|
|
Supreme Being
      
участник
Last Login: 16.04.2008 11:44
Сообщ.: 366,
Visits: 2 473
|
|
| На форуме ошибки, или я что-то делаю не так? Не добавляются/отображаются ссылки типа link href
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Выводи имя таблицы стилей Response.Write-ом в зависимости от выбранного элемента. К примеру: <link rel="stylesheet" type="text/css" href="<% switch (dropdown1.SelectedIndex) { case 0: Response.Write("modern.css");
default: Response.Write("pastel.css"); } %>"> Или сделай свойство у класса страницы которое хранит путь к файлу CSS и уже его выводи. P.S. HTML теги у тебя не отображались потому, что форум их воспринял буквально. В таком случае советую заменять вручную < на <, > на > и все будет в порядке.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 16.04.2008 11:44
Сообщ.: 366,
Visits: 2 473
|
|
Дорогой Bazile! Я уже сделал нечто подобное Вашему 1 варианту:
Private Sub Style_List_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Style_List.SelectedIndexChanged
Select Case Style_List.SelectedValue
Case "Модерн"
Page.Response.Write("<LINK href=""modern.css"" type=""text/css"" rel=""stylesheet"">")
Case "Пастель"
Page.Response.Write("<LINK href=""pastel.css"" type=""text/css"" rel=""stylesheet"">")
End Select
End Sub
Но было бы желательно, чтобы это событие срабатывало без перегрузки страницы (т.е. как я понимаю на стороне клиента).
Или сделай свойство у класса страницы, которое хранит путь к файлу CSS и уже его выводи.
А вот этого я не умею, можно пример?
Насчет P.S. все понял.
С уважением,
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
Пример, который я привел выше и так работает без post-back. Вот еще пример. Теперь с созданием свойства у страницы.<script language="vb" runat="server"> Private _cssPath As StringPublic ReadOnly Property CssPath As String Get Return _cssPath End Get End Property Sub Page_Load(Sender As Object, E As EventArgs) _cssPath = Style_List.SelectedItem.Text End Sub </script> <link href="/css/<%=CssPath%>" rel="stylesheet" type="text/css"> <form runat="server"> <asp:DropDownList id="Style_List" autopostback="true" runat="server"> <asp:ListItem Selected="True" Value="1">modern.css</asp:ListItem> <asp:ListItem Value="2">pastel.css</asp:ListItem> </asp:DropDownList> </form>
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
Пример можно упростить.<script language="vb" runat="server"> Public ReadOnly Property CssPath As String Get Return Style_List.SelectedItem.Text End Get End Property </script><link href="/css/<%=CssPath%>" rel="stylesheet" type="text/css"> <form runat="server"> <asp:DropDownList id="Style_List" autopostback="true" runat="server"> <asp:ListItem Selected="True" Value="1">modern.css</asp:ListItem> <asp:ListItem Value="2">pastel.css</asp:ListItem> </asp:DropDownList> </form>
|
|
|
|
|
Supreme Being
      
участник
Last Login: 16.04.2008 11:44
Сообщ.: 366,
Visits: 2 473
|
|
| Спасибо! Тема закрыта! С уважением,
|
|
|
|