javascript - 在 C# 端动态更改脚本标记源

标签 javascript asp.net-4.0

如何动态更改 <script> src来自 Page_Load 的属性?

当我说动态时,我的意思是它是同一页Default.aspx ,但每次刷新不同js来源被引用。 js 背后的逻辑要选择的文件无关紧要,只需设置它的机制即可。

我试过了:

<script id="script1" runat="server" language="javascript" src="a.js" type="text/javascript"></script>

但是script1.cs 上不可用边。我知道我可以在 .aspx 上更改它通过使用 <% %>标签,但我不想在我的 .aspx 中嵌入我的逻辑. .cs 上一定有办法做到这一点。侧边 Page_Load ?

最佳答案

在您的页面加载处理程序上,您可以有类似的东西

string csurl = null;
string csname = "myscript";
if (condition)
{
    csurl = "~/a.js";
}
else    
{  
    csurl = "~/b.js";
}

if (!Page.ClientScript.IsClientScriptIncludeRegistered(cstype, csname))
{
    Page.ClientScript.RegisterClientScriptInclude(
        this.GetType(), 
        csname, 
        ResolveClientUrl(csurl));
}

 string csurl = null;
 if (condition)
 {
     csurl = "a.js";
 }
 else    
 {  
     csurl = "b.js";
 }
 Literal script = new Literal();
 script.Text = string.Format(
     @"<script src=""{0}"" type=""text/javascript""></script>",csurl);
 Page.Header.Controls.Add(script);

关于javascript - 在 C# 端动态更改脚本标记源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11366110/

相关文章:

javascript - 三星互联网 CORS 仅发送 OPTIONS 请求

javascript - 仅更新单个状态变量时,所有组件都会重新渲染

javascript - Eslint 未定义导入问题

.net - ASP.NET 4.0 移除 controlRenderingCompatibilityVersion ="3.5"后菜单控件的渲染问题

asp.net - ASP.NET 4 中是否可以默认打开 HTML 编码?

javascript - NodeJS : Deep copy a function

JavaScript 更新 ASP :Label Not Updating Text

android - 在 Android 模拟器上测试移动网站

.net - 无法使用 ASP.NET4 隐藏 CSS 中的元素

asp.net - 如何在 .net 4.0 Web 应用程序中使程序集重定向工作