我不一定需要在服务器上运行它,但是,我想使用 ~/js/somefile.js 句法。

以前,我只是用绝对路径设置了所有内容,并将我的项目设置为根层。因此,我只是声明所有样式表,背景图像和JavaScript文件类似 /css/somefile.css

但是,对于此项目,它不作为root运行。

我不能 runat="server" 在脚本标签上。

不过,我可以将其放在链接标签上。

这必须是一些简单答案的常见问题。

有帮助吗?

解决方案

我一直做的是使用普通 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>

但是,您可以在路径字符串中使用功能,例如

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

但是,这是本地路径的ASP.NET MVC语法 - 我不记得我头顶上的表单版本。

您可以通过将脚本标签与 ASP:ContentPlaceholder您可以从后面的代码访问它,例如,设置是否通过设置执行或不执行 可见的 财产为 真的 或者 错误的。这是一个例子:

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

从背后的代码:

PrintPreviewBlock.Visible = true;

取自 dailycoding.com:

<script language="javascript" src="<%=ResolveUrl("~/[PATH]")%>" type="text/javascript"></script> 
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top