asp.net - 在 asp.net 中为特定用户控件加载 css/js

标签 asp.net

我只想在使用特定用户控件时加载 css/js。

我该怎么做?

最佳答案

两个不同的答案:对于 javascript,您需要在要将此控件添加到的一个或多个页面上使用脚本管理器。在控件上,包括一个脚本代理。这些被指定为“ajax 扩展”,但它们适用于任何脚本。管理器将确保只加载任何特定脚本的一个实例。

在页面上:

<asp:ScriptManager runat="server">
</asp:ScriptManager>

在控件.ascx上

<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server">
</asp:ScriptManagerProxy>

控件背后的代码

protected void Page_Load(object sender, EventArgs e)
{
    this.ScriptManagerProxy1.Scripts.Add(new ScriptReference(@"../path/yourJavascript.js"));
}

好的,至于更简单的 CSS,在控件上包含指向样式表的链接:

<link rel='stylesheet' type='text/css' href='../css/yourStyleSheet.css' /> 

如果您对 .ascx 有“相对路径问题”,另一种选择:

<link rel='stylesheet' type='text/css' href='<%= ResolveUrl("~/css/yourStyleSheet.css") %>' /> 

关于asp.net - 在 asp.net 中为特定用户控件加载 css/js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5812880/

相关文章:

asp.net - 如何配置 IIS 以便我在同一台机器上运行的 ASP.NET Web 应用程序可以相互 POST,但公众不能 POST?

c# - ASP.NET 5 中的路由前缀

c# - 传递 HttpPost 参数时导航到外部 URL

asp.net - 进程模型 minFreeThreads 澄清

c# - 无法在Windows主机上上传asp.net mvc3网站

asp.net - 从 asp.net 中的存储过程中检索记录

asp.net - 我可以在 javascript 中获得两个连续的对话框吗?

javascript - .js 和 .css 的语法错误 - ASP.NET MVC 5

c# - ASP.net 菜单 - 如何在悬停时更改弹出图像

c# - WebAPI Controller 继承和属性路由