如何动态更改 <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/