Как я могу использовать runat="server" на тег скрипта в asp.Net

Мне не обязательно запускать его на сервере, однако я бы хотел использовать ~/js/somefile.js синтаксис.

Ранее я только что установил все с абсолютными путями и установил свой проект на корневом уровне. Итак, я бы просто объявил все мои таблицы стилей, фоновые изображения и файлы JavaScript /css/somefile.css

Однако для этого проекта он не запускается с правами root.

Я не могу поставить runat="server" по тегу скрипта.

Я могу поставить его на тег ссылки, хотя.

Это должно быть распространенной проблемой с несколькими простыми ответами.

5 ответов

Решение

То, что я всегда делал, это использовать нормальный script пометить и поставить src в <% %> теги, как показано здесь:

<script language="javascript" src='<%=ResolveUrl("~/App_Themes/MainTheme/jquery.js")%>' type='text/javascript'></script>

Вы можете использовать ScriptManager для этого:

<asp:ScriptManager ID="ScriptManager1" runat="server">
        <Scripts>
            <asp:ScriptReference Path="~/js/somefile.js" />
        </Scripts>
</asp:ScriptManager>

Вы можете получить полностью то, что вы хотите, обернув тег сценария asp:ContentPlaceHolder, и вы можете получить к нему доступ из кода, например, установить, будет ли он выполняться или нет, установив для свойства visible значение true или false. Вот пример:

    <asp:ContentPlaceHolder runat="server" ID="PrintPreviewBlock" Visible="false">
    <script id="PrintPageCall" type="text/javascript" >
        $(function() {
            window.print();
        });
    </script>
</asp:ContentPlaceHolder>

и из кода позади:

PrintPreviewBlock.Visible = true;

Вы можете использовать функции внутри строки пути, например,

<script type="text/javascript"
        src="<%=Url.Content("~/Scripts/jquery-1.4.2.min.js") %>"></script>

Тем не менее, это синтаксис ASP.NET MVC для локальных путей - я не могу вспомнить версию формы сверху моей головы.

Взято с dailycoding.com:

<script language="javascript" src="<%=ResolveUrl("~/[PATH]")%>" type="text/javascript"></script> 
Другие вопросы по тегам