Можно ли добавить ScriptReference к главной странице CompositeScript с помощью разметки? - PullRequest
1 голос
/ 17 ноября 2008

Я хотел бы использовать компоненты ScriptManager и CompositeScript на своей главной странице, чтобы включить JavaScript для всего сайта, но добавить в этот список в моей «Форме веб-контента». Я уверен, что это может быть сделано в коде позади, но оптимально я хотел бы сделать это в разметке. Можно ли это сделать?

В: MasterPage.master

<asp:ScriptManager ID="ScriptManager" runat="server" EnableScriptCombine="True">
    <CompositeScript>
        <Scripts>
            <asp:ScriptReference name="" Assembly="" Path="/client/js/main.js"/>      
        </Scripts>
    </CompositeScript>
</asp:ScriptManager>

В: Content.aspx

<asp:ScriptReference name="" Assembly="" Path="/client/js/other.js"/>

1 Ответ

5 голосов
/ 17 ноября 2008

Попробуйте использовать тег <asp:ScriptManagerProxy>. У него те же дочерние теги, что и у менеджера скриптов, но он предназначен для использования в форме контента. (Вы не получите сообщение об ошибке «Только один ScriptManager на страницу»)

Я не уверен, что это именно то, что вы ищете, потому что скрипт, который вы добавляете через ScriptManagerProxy, доступен только в ContentForm, в который вы добавляете его (я думаю). Это не будет сайт широкий. Однако, если вам нужно, чтобы он был доступен для всего сайта, почему бы просто не добавить его в MasterPage?

Надеюсь, это поможет!

...