如何从<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中嵌入自己的逻辑。在.csPage_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);

09-17 12:22