Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / совместить Header.Controls.Add и код в <head> / 21 сообщений из 21, страница 1 из 1
19.10.2011, 12:14:16
    #37488530
konstsch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
совместить Header.Controls.Add и код в <head>
Можно как-то совместить добавление тега в заголовок и код в заголовке


Код: plaintext
1.
2.
3.
            Dim meta As New HtmlMeta
            meta.Name = "keywords"
            meta.Content = _meta_keywords
            Header.Controls.Add(meta)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<head>
    <%=Bundle.Css() _
                .Add("~/css/style.css") _
                .Add("~/css/menu1.css") _
                .Add("~/css/table.css") _
                .Add("~/css/jquery.fancybox-1.3.4.css") _
                .ForceRelease() _
                .Render("~/css/combined_#.css")
    %>
</head>

При таком варианте выдает:
Невозможно изменить коллекцию Controls, так как элемент управления содержит блоки кода
...
Рейтинг: 0 / 0
19.10.2011, 12:16:58
    #37488543
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
совместить Header.Controls.Add и код в <head>
попробуйте в хед добавить плейсхолдер, а уже в него добавлять мету
...
Рейтинг: 0 / 0
19.10.2011, 12:45:59
    #37488612
konstsch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
совместить Header.Controls.Add и код в <head>
Боюсь что так то же не получится
т.к. в хед добавляется в наследнике от System.Web.UI.Page

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Public Class rForm
    Inherits System.Web.UI.Page

    Protected _meta_keywords As String

    Property meta_keywords()
        Get
            Return _meta_keywords
        End Get
        Set(ByVal value)
            _meta_keywords = value
        End Set
    End Property

    Protected Overrides Sub OnPreRender(ByVal e As EventArgs)

        If _meta_keywords <> "" Then
            Dim meta As New HtmlMeta
            meta.Name = "keywords"
            meta.Content = _meta_keywords
            Header.Controls.Add(meta)
        End If

        MyBase.OnPreRender(e)
    End Sub
...
Рейтинг: 0 / 0
19.10.2011, 12:55:58
    #37488638
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
совместить Header.Controls.Add и код в <head>
konstschт.к. в хед добавляется в наследнике от System.Web.UI.Pageи что? почему не получится-то?
...
Рейтинг: 0 / 0
19.10.2011, 13:08:18
    #37488675
konstsch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
совместить Header.Controls.Add и код в <head>
дак как я понимаю этот плэйсхолдер добавляется этим же
Header.Controls.Add

или я чего-то непонимаю
...
Рейтинг: 0 / 0
19.10.2011, 13:09:48
    #37488686
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
совместить Header.Controls.Add и код в <head>
konstschдак как я понимаю этот плэйсхолдер добавляется этим же
Header.Controls.Addнет, впишите его прямо в разметку

ЗЫ я б еще литерал попробовал, там вообще полет фантазии
...
Рейтинг: 0 / 0
19.10.2011, 13:11:48
    #37488700
konstsch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
совместить Header.Controls.Add и код в <head>
Дак разметки нет.
Или она уже стала нормально наслдедоваться?
...
Рейтинг: 0 / 0
19.10.2011, 13:16:29
    #37488720
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
совместить Header.Controls.Add и код в <head>
konstschДак разметки нет
А это что тогда такое:konstsch
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<head>
    <%=Bundle.Css() _
                .Add("~/css/style.css") _
                .Add("~/css/menu1.css") _
                .Add("~/css/table.css") _
                .Add("~/css/jquery.fancybox-1.3.4.css") _
                .ForceRelease() _
                .Render("~/css/combined_#.css")
    %>
</head>
?
...
Рейтинг: 0 / 0
19.10.2011, 13:19:00
    #37488730
konstsch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
совместить Header.Controls.Add и код в <head>
это разметка masterpage
...
Рейтинг: 0 / 0
19.10.2011, 13:24:10
    #37488746
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
совместить Header.Controls.Add и код в <head>
Content Class
см. пример внизу
...
Рейтинг: 0 / 0
19.10.2011, 13:31:42
    #37488772
konstsch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
совместить Header.Controls.Add и код в <head>
ну это просто пример использования мастерпейджев и чего?
...
Рейтинг: 0 / 0
19.10.2011, 13:33:45
    #37488782
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
совместить Header.Controls.Add и код в <head>
konstschну это просто пример использования мастерпейджев и чего?и вставляйте плейсхолдер в разметку страницы
...
Рейтинг: 0 / 0
19.10.2011, 13:43:20
    #37488817
konstsch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
совместить Header.Controls.Add и код в <head>
еще раз

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<%@ Master Language="VB" AutoEventWireup="false" CodeBehind="default.master.vb" Inherits="rielter._default1" %>
<%@ Import Namespace="SquishIt.Framework" %>
<head runat="server">
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>

    <%=Bundle.Css() _
                        .Add("~/css/style.css") _
                        .Add("~/css/menu1.css") _
                        .Add("~/css/table.css") _
                        .Add("~/css/jquery.fancybox-1.3.4.css") _
                        .Add("~/css/jquery.tabs.css") _
                        .ForceRelease() _
                        .Render("~/css/combined_#.css")
    %>    
</head>

<body>

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

</body>
</html>  


Класс от которого наследуются все контент пейджи
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Public Class rForm
    Inherits System.Web.UI.Page

    Protected _meta_keywords As String

    Property meta_keywords()
        Get
            Return _meta_keywords
        End Get
        Set(ByVal value)
            _meta_keywords = value
        End Set
    End Property

    Protected Overrides Sub OnPreRender(ByVal e As EventArgs)

        If _meta_keywords <> "" Then
            Dim meta As New HtmlMeta
            meta.Name = "keywords"
            meta.Content = _meta_keywords
            Header.Controls.Add(meta)
        End If

        MyBase.OnPreRender(e)
    End Sub

И из rForm надо проверить существование ContentPlaceHolder ID="head" и что-то туда добавить, так что ли?
...
Рейтинг: 0 / 0
19.10.2011, 13:54:37
    #37488853
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
совместить Header.Controls.Add и код в <head>
konstschКласс от которого наследуются все контент пейджишо ж Вы сразу не сказали

добавляйте плейсхолдер в разметку мастер-пейджа
а в OnPreRender
в Header.Controls его найдите
...
Рейтинг: 0 / 0
19.10.2011, 13:57:17
    #37488864
konstsch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
совместить Header.Controls.Add и код в <head>
в OnPreRender мастерпейджа?
...
Рейтинг: 0 / 0
19.10.2011, 14:00:13
    #37488871
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
совместить Header.Controls.Add и код в <head>
konstschв OnPreRender мастерпейджа?нет, в OnPreRender класса rForm
...
Рейтинг: 0 / 0
19.10.2011, 14:19:44
    #37488924
konstsch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
совместить Header.Controls.Add и код в <head>
спасибо!

Dim pl As ContentPlaceHolder = Me.Master.Page.Header.FindControl("head") работает

жаль что Me.Master.Page.Header.Controls.add не работает
...
Рейтинг: 0 / 0
19.10.2011, 15:01:59
    #37489029
konstsch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
совместить Header.Controls.Add и код в <head>
хм странно из плэйсхолдер какие-то страницы работают а какие-то нет
...
Рейтинг: 0 / 0
19.10.2011, 15:39:46
    #37489099
konstsch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
совместить Header.Controls.Add и код в <head>
вносим код на контент страницу и опять та же фигня

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<%@ Page Language="vb" AutoEventWireup="false" MasterPageFile="~/default.Master" CodeBehind="detail.aspx.vb" Inherits="rielter.detail" 
    title=""  EnableViewState="false"%>
  
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">	

<script type="text/javascript">
    function search() {
        location.replace('search.aspx?' + 'page=1' + '&ddlRs=' + document.getElementById("<%=Me.Page.ClientID%>"));
    }
</script>    

</asp:Content>
...
Рейтинг: 0 / 0
19.10.2011, 15:45:55
    #37489117
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
совместить Header.Controls.Add и код в <head>
konstschDim pl As ContentPlaceHolder = Me.Master.Page.Header.FindControl("head") работаеттут какая-то путаница возникла

последней соей рекомендацией было добавить в разметку мастер-страницы
не ContentPlaceHolder
а PlaceHolder
...
Рейтинг: 0 / 0
19.10.2011, 16:28:27
    #37489210
konstsch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
совместить Header.Controls.Add и код в <head>
да спасиб что поправили
теперь вроде везде все хорошо
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / совместить Header.Controls.Add и код в <head> / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]