вторник, 5 июня 2012 г.

Включение относительных ссылок на внешние js скрипты в masterpage

Обычно относительные ссылки включаются при помощи <%=ResolveUrl("~/[относительный путь]")%>. Но включение этой конструкции в head-секцию разметки masterpage вызывает следующую ошибку:
The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).

Удобно осуществлять включение при помощи тега ScriptsManager:
<asp:ScriptManager ID="myScriptManager" runat="server">
    <Scripts>
        <asp:ScriptReference Path="~/Scripts/jquery.js"/>
    </Scripts>
</asp:ScriptManager>

Расположен он должен быть в теге form. Поэтому начало тела документа выглядит как-то так:
<body>
    <form runat="server">
        <asp:ScriptManager ID="myScriptManager" runat="server">
            <Scripts>
                <asp:ScriptReference Path="~/Scripts/jquery.js"/>
            </Scripts>
        </asp:ScriptManager>
    </form>
    <script type="text/javascript">
        $(document).ready(function () {
            alert("it works!");
        });
    </script>
</body>

Комментариев нет:

Отправить комментарий