16 Stimmen

Wie kann ich runat="server" in einem Skript-Tag in asp.Net verwenden?

Ich muss es nicht unbedingt auf dem Server laufen lassen, aber ich würde gerne die ~/js/somefile.js Syntax.

Zuvor hatte ich einfach alles mit absoluten Pfaden festgelegt und mein Projekt auf die Stammebene gesetzt. SO, ich würde nur deklarieren alle meine Stylesheets, Hintergrundbilder und Javascript-Dateien etwas wie /css/somefile.css

Bei diesem Projekt läuft es jedoch nicht so wie bei Root.

Ich kann nicht runat="server" auf ein Skript-Tag.

Ich kann es aber auf einen Link-Tag setzen.

Dies muss ein häufiges Problem sein, für das es ein paar einfache Antworten gibt.

20voto

David Punkte 189311

Ich habe immer ein normales script Tag und setzen Sie das src en <% %> Tags, wie abgebildet aquí :

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

14voto

Jemes Punkte 2722

Hierfür können Sie den ScriptManager verwenden:

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

5voto

jasin_89 Punkte 1913

Sie können das Gewünschte vollständig erreichen, indem Sie das Skript-Tag mit asp:ContentPlaceHolder und Sie können vom dahinterliegenden Code aus darauf zugreifen, zum Beispiel festlegen, ob er ausgeführt werden soll oder nicht, indem Sie sichtbar Eigenschaft zu wahr o falsch . Hier ist das Beispiel:

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

und aus dem Code dahinter:

PrintPreviewBlock.Visible = true;

3voto

Rup Punkte 32603

Sie können jedoch Funktionen innerhalb der Pfadzeichenfolge verwenden, z. B.

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

Allerdings ist das die ASP.NET MVC-Syntax für lokale Pfade - ich kann mich nicht erinnern, die Formulare Version aus der Spitze von meinem Kopf.

1voto

palswim Punkte 11356

Entnommen aus dailycoding.com :

<script language="javascript" src="<%=ResolveUrl("~/[PATH]")%>" type="text/javascript"></script>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X